【问题标题】:How to round down number 2 decimal places? [duplicate]如何舍入小数点后 2 位? [复制]
【发布时间】:2017-05-06 16:03:18
【问题描述】:

如何获得以下输入到波纹管输出

输入

1.0789
10.350
1.7777

输出

1.07
10.35
1.77

【问题讨论】:

  • after=Math.floor(before*100)/100
  • 1.77771.77 不是向下舍入。是截断。截断是您真正需要的吗?

标签: javascript


【解决方案1】:

使用Math.floor 将当前值下的小数位四舍五入。

Reference

示例

Math.floor(1.0789 * 100) / 100

工作小提琴

console.log(Math.floor(1.0789 * 100) / 100);
console.log(Math.floor(10.350 * 100) / 100);
console.log(Math.floor(1.7777 * 100) / 100);
console.log(Math.floor(12.34 * 100) / 100);

【讨论】:

  • 这不是一个回合
  • 如果您正在寻找四舍五入。你需要使用 Math.floor
  • 谢谢。它的作品老兄..
  • 这不适用于像 12.34 这样已经是小数点后 2 位的值。 12.34 将变成 12.33。更好的解决方案function floorDecimals(value, decimals) { return Number(Math.floor(value+'e'+decimals)+'e-'+decimals); } 信用到这里jacklmoore.com/notes/rounding-in-javascript
  • @SeanTomlins 乘法/除法的简单解决方案似乎适用于 Chrome 和 Firefox 中的地板和天花板,至少对我而言。
【解决方案2】:

你有几种方法可以做到这一点

  1. 使用 Math.round(num * 100) / 100
  2. 使用 Math.ceil(num * 100)/100;

【讨论】:

  • 您建议的 3 种方法是四舍五入。但问题是如何将它们四舍五入。
  • toFixed 正在四舍五入。
  • toFixed 5 及以上向上取整,4 及以下仅向下取整
  • toFixed 返回一个字符串。
猜你喜欢
  • 2012-01-03
  • 2011-02-18
  • 2012-07-26
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
  • 1970-01-01
  • 2014-06-28
  • 2022-12-20
相关资源
最近更新 更多