Вы смешиваете две вещи: значение числа и способ его отображения.
100, 100.0, 100.00 (или даже 1E2, 10E1, 0.1E3) являются визуальным представлением одного и того же числовое значение .
Я оставлю в стороне тот факт, что числовые значения компьютера не всегда совпадают с действительными числами в математическом смысле.
В JavaScript parseFloat
возвращаетnumeric
тип.numeric
значения отображаются по умолчанию без конечных нулей.То есть, когда вы делаете console.log(100)
, 100 преобразуется в строку «100», и то же самое относится к console.log(100.00)
, число также преобразуется в строку ... «100».
Но вы всегда можете указать строковое представление, заставив отображать количество десятичных знаков (это то, что .toFixed()
делает).
См .: Номер формата, чтобы всегда отображать 2 десятичных знака
Вы можете просто использовать toFixed(2)
для любой привязки numeric
(переменной), чтобы достичь желаемого.
let a = 100;
console.log(a.toFixed(2));
Я использовал метод .toFixed (2), чтобы поместить два десятичных знака, но вернулся как String.
Да, нофактически любое число, которое вы пытаетесь отобразить , в какой-то момент является какой-то строкой (подумайте о console.log(100.00)
).Внутреннее значение (numeric
) для 100 и 100,00 одинаково.
Разница only заключается в их представлении string , поэтому запрашивается способ сделатьчто "без строки" противоречиво.