圆形浮动到2位小数javascript

时间:2014-02-14 10:33:14

标签: javascript decimal rounding

我遇到的问题是,当我将数字舍入到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被移除。

2 个答案:

答案 0 :(得分:0)

你不能将19.00作为浮点数,只能作为字符串,因为数字总是删除尾随零。

也许你可以向我们展示更多的代码来获得一个想法,你需要这些尾随的零吗?

答案 1 :(得分:0)

数字有并且无法保存有关其表示的信息。它们只是一个数值。

当您使用window.alertconsole.log或类似名称显示数字时,您不会查看数字,而是查看字符串。这些显示功能在显示之前将数字转换为字符串。 Number.toFixed也将数字转换为字符串,不同之处在于它将它们舍入到两个小数位,因此您最终得到了相同数字的另一个表示。

我想说的是,为了显示一个数字,你无法将其转换为字符串。无论是明确地执行还是显示功能都为您完成。当您将数字发送到您正在使用的服务时,您可能还发送了一个字符串(一旦发送它们,JSON,XML等始终是字符串)。如果您需要计算数字的值,请使用它,然后将其转换为最终。无论如何,如果你想要那些0,最后你必须这样做。