JavaScript - 保持尾随零[重复]

Posted

技术标签:

【中文标题】JavaScript - 保持尾随零[重复]【英文标题】:JavaScript - Keep trailing zeroes [duplicate] 【发布时间】:2014-09-13 09:34:08 【问题描述】:

我想解析一个字符串,我使用了parseFloat(),但它删除了所有尾随零。如何防止这种情况 - 我需要准确解析字符串 - 如果我有 2.5000,我需要与浮点数完全相同的结果 - 2.5000。

【问题讨论】:

2.500002.5完全相同的数字。如果要保留尾随零,则必须使用字符串。 您必须重新格式化才能显示它。 【参考方案1】:

你可以的

parseFloat(2.5).toFixed(4);

如果您需要完全相同的浮点数,您可能需要计算出数量

function parseFloatToFixed(string) 
  return parseFloat(string).toFixed(string.split('.')[1].length);


console.log(parseFloatToFixed('2.54355'));

但我真的不明白为什么你甚至需要使用 parseFloat 呢? javascript 中的数字不保留浮点数。因此您必须将它们保留为字符串,并将它们作为浮点数进行计算。

另外别忘了 toFixed 在不同的浏览器中可能会有奇怪的舍入问题,例如

console.log((0.1).toFixed(20));

【讨论】:

谢谢 - 这就是我需要的结果。 @Isadora 看到您使用 parseFloat 将字符串(a)转换为浮点数,而 chad_scira 将浮点数转换为字符串(c)。所以这里的 c=a 所以你真的不需要这个转换。

以上是关于JavaScript - 保持尾随零[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从双精度中删除尾随零 [重复]

将尾随零添加到小数位

如何使用 jQuery 在价格中添加尾随零

数字字段项的格式掩码:尾随和“前导”零

返回没有尾随零的双精度类型

Swift - 从 Double 中删除尾随零