1. JavaScript / Говнокод #11982

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    var num_normalize = function (num) {
            if (typeof num == 'string') {
                if (num.test('.')) {
                    return parseFloat(num).toFixed(2);
                }
                else {
                    return parseInt(num);
                }
            }
            else if (parseInt(num) == parseFloat(num)) {
                return parseInt(num);
            }
            else return parseFloat(num).toFixed(2);
        };

    Когда-то писал функцию для приведение чисел к одному виду, которые иногда приходили в виде стринги.
    За говнокод сойдет?

    Запостил: Stud, 24 Октября 2012

    Комментарии (2) RSS

    • Да, уже хотя бы потому, что не понятен ожидаемый результат. Почему, если есть точка, то нужно возвращать строку, а если нет - число?
      Ну и, естесственно, проще было все сразу к строке привести, и if/else не нужно было бы.
      Ответить
    • >if (parseInt(num) == parseFloat(num)) return parseInt(num);
      Если строка распарсилась одинаково как в целое, так и во флоат, распарсим ее еще раз, для верности.

      > За говнокод сойдет?
      Сойдет, плюсую.
      Ответить

    Добавить комментарий