我遇到的问题是,当我将数字舍入到2位小数时,parseFloat()函数会从数字中删除.00。我试过了
var num = parseFloat(Math.round(19 * 100) / 100).toFixed(2);
The return: num="19.00"
The return i need: num = 19.00
我知道19 = 19.00,但我使用的服务总是需要两位小数.00
该函数返回一个具有正确值的字符串。当我解析浮动时,.00被移除。
答案 0 :(得分:0)
你不能将19.00
作为浮点数,只能作为字符串,因为数字总是删除尾随零。
也许你可以向我们展示更多的代码来获得一个想法,你需要这些尾随的零吗?
答案 1 :(得分:0)
数字有并且无法保存有关其表示的信息。它们只是一个数值。
当您使用window.alert
,console.log
或类似名称显示数字时,您不会查看数字,而是查看字符串。这些显示功能在显示之前将数字转换为字符串。 Number.toFixed
也将数字转换为字符串,不同之处在于它将它们舍入到两个小数位,因此您最终得到了相同数字的另一个表示。
我想说的是,为了显示一个数字,你无法将其转换为字符串。无论是明确地执行还是显示功能都为您完成。当您将数字发送到您正在使用的服务时,您可能还发送了一个字符串(一旦发送它们,JSON,XML等始终是字符串)。如果您需要计算数字的值,请使用它,然后将其转换为最终。无论如何,如果你想要那些0,最后你必须这样做。