http://xiangai.taobao.com
http://shop148612228.taobao.com

浮点数保留小数点位数的做法之一: 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

posted @ 2021-02-22 18:11  万事俱备就差个程序员  阅读(450)  评论(0编辑  收藏  举报

http://xiangai.taobao.com
http://shop148612228.taobao.com
如果您觉得对您有帮助.领个红包吧.谢谢.
支付宝红包
微信打赏 支付宝打赏