JS较为标准的四舍五入保留n位小数取法

1.表达式

对x进行四舍五入保留n位小数:

(Math.round(x * 10^n) / (10^n)).toFixed(n);

10的n次方在这里写成10^n只是为了方便表达,js中应该使用Math.pow(10,n)或1en。

2.解释

Math.round:把一个数字舍入为它最接近的整数,>=0.5入,<0.5舍。JavaScript round() 方法

toFixed(n):把一个数按照银行家舍入规则进行舍入,也就是四舍六入五成双。Javascript中 toFixed 的‘奇葩坑’

3.举例

(1)对12.5555进行四舍五入保留2位小数:

x * 10^n:12.5555*100 = 1255.55

Math.round(x * 10^n):Math.round(1255.55) = 1256

Math.round(x * 10^n) / (10^n):1256/100 = 12.56

(Math.round(x * 10^n) / (10^n)).toFixed(n):12.56.toFixed(2) = 12.56

(2)对12.5进行四舍五入保留2位小数:

x * 10^n:12.5*100 = 1250

Math.round(x * 10^n):Math.round(1250) = 1250

Math.round(x * 10^n) / (10^n):1250/100 = 12.5

(Math.round(x * 10^n) / (10^n)).toFixed(n):12.5.toFixed(2) = 12.50

toFixed(n)在这里的作用是强制保留n位小数,就像例(2)所示。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值