JS66 高精度运算

本文探讨了JavaScript中的高精度运算,重点介绍了银行家舍入法及其相对于四舍五入的优势。讨论了JavaScript中浮点数误差的原因,并提出在高精度运算中避免误差的方法。此外,还提到了大数运算的限制和解决方案,包括使用第三方库如bigmuber.js以及ES10中的BigInt类型。
摘要由CSDN通过智能技术生成

银行家舍入法

银行家舍入法是一种国际标准的进行数值取舍的标准,也叫做四舍六入五留双的规则,具体规则是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一

11.556 = 11.56  -----   六入
11.554 = 11.55  -----   四舍
11.5551 = 11.56 -----   五后有数进位
11.545 = 11.54  -----   五后无数,若前位为偶数应舍去
11.555 = 11.56  -----   五后无数,若前位为奇数应进位

为什么要使用银行家舍入法呢?从统计学的角度讲,银行家舍入法比通常的四舍五入更精确,具体来讲:

(1)首先个位数如果不是5,那么该怎么做就怎么做,用哪种方式取整都是一样的。

(2)个位数是5的情况,假设只有3545两个数字进行取舍,如果按照四舍五入,就都向上取整了,这样就产生偏差了。

(3)而按照银行家舍入法进行“取偶”的方式,则一个向上,一个向下,就消除了偏差,就更合理了。

toFixed方法和toPercision方法

Number.prototype.toFixed方法接受一个数字作为参数(如果传入的是小数,将向下取整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值