逗号后将数字四舍五入为 2 位数字

新手上路,请多包涵

我不知道该怎么做?我正在添加逗号数字,结果当然总是一个逗号后数字太多的数字。任何人?

原文由 Sten Van den Bergh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 756
2 个回答

编辑 2

像这样使用 Number 对象的 toFixed 方法:

 var num = Number(0.005) // The Number() only visualizes the type and is not needed
 var roundedString = num.toFixed(2);
 var rounded = Number(roundedString); // toFixed() returns a string (often suitable for printing already)

它将 42.0054321 舍入为 42.01

将 0.005 舍入为 0.01

它将 -0.005 舍入到 -0.01(因此绝对值在 0.5 边界处舍入时会增加)

jsFiddle 示例

原文由 Jacob Relkin 发布,翻译遵循 CC BY-SA 4.0 许可协议

更新: 请记住,在最初于 2010 年编写答案时,波纹管函数 toFixed() 的工作方式略有不同。 toFixed() 现在似乎做了一些舍入,但不是严格的数学方式。所以要小心。做你的测试……正如数学家所期望的那样,下面描述的方法会很好地进行舍入。

  • toFixed() 方法将数字转换为字符串,保留指定的小数位数。它实际上并没有将数字四舍五入,而是截断了数字。
  • Math.round(n) - 将数字四舍五入为最接近的整数。从而转向:

0.5 -> 1; 0.05 -> 0

所以如果你想四舍五入,比如数字 0.55555,只保留到小数点后第二位;您可以执行以下操作(这是分步概念):

  • 0.55555 * 100 = 55.555
  • Math.Round(55.555) -> 56.000
  • 56.000 / 100 = 0.56000
  • (0.56000).toFixed(2) -> 0.56

这是代码:

 (Math.round(number * 100)/100).toFixed(2);

原文由 Andrei 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题