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

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

【问题讨论】:

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

标签: javascript parsing trailing


【解决方案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 所以你真的不需要这个转换。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 2013-11-25
相关资源
最近更新 更多