如何将数字作为浮点数es6返回

时间:2017-07-09 09:43:50

标签: javascript ecmascript-6

好吧,我试图以特定格式返回我的所有号码

Number(parseFloat(number).toFixed(fractionalDigits || 2))

这种方法很好但在某些情况下失败了,这里有一些结果

1.111返回" 1.11"将其转换为数字后,将返回1.11  作为正确的浮动, 但2.2返回" 2.20" 并将其转换为数字后 2.2 我需要它为2.20作为浮动

100回报" 100.00"因为toFixed函数和转换为数字后它回到100 我需要它100.00但是作为浮动

我该怎么做?

2 个答案:

答案 0 :(得分:6)

你不能。

浮点数是数值,2.22.20之间没有数字差异。

当输出一个浮点数时,它会转换为一个字符串进行显示,这将是最简单形式的数字。也就是2.2,因为尾随0没有意义。

你不想要00000002.20000000,是吗?领先的零也没用。

如果要显示尾随零,请使用toFixed()。这就是功能的用途。你现在所拥有的是将一些任意输入(我们都知道它已经是数字)转换为浮点数,然后从浮点数转换为具有固定小数位数的字符串,然后再转换回浮点数。你所取得的就是截断数字。

答案 1 :(得分:1)

对于您想要从参数中删除fractionDigits并删除las应该工作的结果

parseFloat(number).toFixed(2)

外部Number()不是必需的,因为你已经将数字解析为float.Hope它有帮助

发生的事情是Number函数正在删除toFixed正在放入的不必要的内容。