JavaScript四舍五入并保留两位小数

JavaScript四舍五入并保留两位小数

Arthur
2021-07-06 / 0 评论 / 129 阅读 / 正在检测是否收录...

在JavaScript中,有一个问题一直被没有很好地解决,就是小数点保留指定的位数,也就是我们通常说的Math.Round()函数。

首先,JavaScript有自带的Math.Round()函数,能够对一个浮点数进行四舍五入,但是返回的结果是个整数,无法精确到小数点后。

Number.toFixed()方法,能保留小数点后面的指定位数,但如果执行2.1.toFixed(2)的话,会返回2.10,而不是我们期待的2.1,所以,这个方法也不太可取。

最近我发现一个很简单的方法,假设我要对0.105进行四舍五入并保留两位小数,如果直接调用Math.Round()的话,结果是0,如果直接调用.toFixed(2)方法的话,会返回0.10,最简单有效的方法就是对0.105先乘以100,再调用Math.Round(),然后再除以100,就OK了。

     var number = 0.105;
     alert(Math.round(number * 100) / 100);

网页弹出0.11

举一反三,如果你想保留三位小数,就是

    Math.round(number * 1000) / 1000

如果你想转换为百分比,再保留两位小数,就是

    (Math.round(number * 10000) / 100) + '%'
0
如果你觉得文章还不错,可以请我喝杯咖啡啊哈哈哈
wechat alipay

评论 (0)

取消