Ваш num
равен 623000, а subtract
равен только -0,006, пока вы округляете num
в цикле.Итак, что вы ожидаете?Math.round(623000 - (-0.006)) = 623000
и это всегда будет одно и то же число.
И если вы хотите добавить к нулю префикс, то вы должны сделать это в выходных данных без обновления переменной, которая хранит числовое значение.* ps: какова цель
num *= 10000;
num /= 10000;
?Возможно, между ними должно быть num = Math.round(num)
, и это является причиной ваших проблем?
, и вы можете использовать эту функцию для заполнения числа начальными нулями
function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str;
}
return str;
}
или проверить эту тему Как вывести целые числа с ведущими нулями в JavaScript