浮点数保留小数点位数的做法之一: Math.round(_value * n) / n;

例如:

保留小数点后1位,则 n = 10        * n= 1 /  0.1

保留小数点后2位,则 n = 100      * n= 1 /  0.01

保留小数点后3位,则 n = 1000    * n= 1 /  0.001


至于为什么是先乘后除,可以参考如下文章:

http://www.cnblogs.com/JeffreyZhao/archive/2009/11/24/precision-of-float-point-calculation.html


基于乘法不会损失精度(有条件的),所以对于精度有要求的场合,上面的公式可以改为:

 Math.round(_value * 10) * 0.1

 Math.round(_value * 100) * 0.01

 Math.round(_value * 1000) * 0.001

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值