好吧,我试图以特定格式返回我的所有号码
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但是作为浮动
我该怎么做?
答案 0 :(得分:6)
你不能。
浮点数是数值,2.2
和2.20
之间没有数字差异。
当输出一个浮点数时,它会转换为一个字符串进行显示,这将是最简单形式的数字。也就是2.2
,因为尾随0
没有意义。
你不想要00000002.20000000
,是吗?领先的零也没用。
如果要显示尾随零,请使用toFixed()
。这就是功能的用途。你现在所拥有的是将一些任意输入(我们都知道它已经是数字)转换为浮点数,然后从浮点数转换为具有固定小数位数的字符串,然后再转换回浮点数。你所取得的就是截断数字。
答案 1 :(得分:1)
对于您想要从参数中删除fractionDigits并删除las应该工作的结果
parseFloat(number).toFixed(2)
外部Number()不是必需的,因为你已经将数字解析为float.Hope它有帮助
发生的事情是Number函数正在删除toFixed正在放入的不必要的内容。