В javascript я заметил, что toString и valueOf обрезает конечные 0s после десятичного числа. Например:toString и valueOf усекает конечные 0s после десятичного числа
var num = 0.00
var num2 = 0.0100
num.valueOf() or num.toString() // outputs 0
num2.valueOf() or num2.toString() // outputs 0.01
Это нормальное поведение и есть ли способ сохранить конечные 0s?
EDIT: Я изменил свой первоначальный вопрос, потому что после некоторого тестирования я понял, что выше это корень проблемы. Благодарю.
Когда вы говорите, что он «не работает должным образом», что идет не так? Вы пробовали отлаживать его каким-то образом? – Pointy
функция формата должна использовать переменную «стиль», чтобы определить, сколько десятичных знаков должно выводиться. Когда я использую первый метод, он отсекает десятичные знаки, но выводит правильно, используя второй метод. Сама функция формата работает очень хорошо, только когда я передаю стиль указанным выше образом, поэтому мне просто интересно, есть ли разница между наличием .toString внутри части format() (метод 1) или снаружи (метод 2). – Choy
Ну, вы вставили какие-то «console.log» вызовы (для Firebug) или какие-то предупреждения или что-то еще, чтобы увидеть, что возвращается эта вещь «typeof», и каков результат этого «toString» при вызове в инструкции if? – Pointy