bignumber.js
数量计算库bignumber.js
数量计算库bignumber.js
数量计算库 官网地址: bignumber.js
js精度问题 1 2 3 #乘法,经典数,出现误差, 所以才考虑使用第三方库bignumber.js 138.33 * 100 = 13833.000000000002 3 * 0.3 = 0.8999999999999999
安装使用 1 npm install bignumber.js
属性Properties
Property
Value
Description
ROUND_UP
0
向上取整
ROUND_DOWN
1
向下取整
ROUND_CEIL
2
向上取整,如果是负数如下 -99.1 => -99
ROUND_FLOOR
3
向下取整,如果是负数如下 -99.9 => -100
ROUND_HALF_UP
4
四舍五入,大于5向上
ROUND_HALF_DOWN
5
四舍五入,小于5向下
ROUND_HALF_EVEN
6
向最近的邻居舍入。如果等距,则向偶数邻居舍入
ROUND_HALF_CEIL
7
向最近的邻居舍入。如果等距,则向四舍五入Infinity
ROUND_HALF_FLOOR
8
向最近的邻居舍入。如果等距,则向四舍五入-Infinity
常见功能 1 2 3 4 5 6 7 let a = new BigNumber(3 );let b = new BigNumber(0.3 );console .log(a.plus(b).toNumber()); console .log(a.minus(b).toNumber()); console .log(a.multipliedBy(b).toNumber()); console .log(a.div(b).toNumber());
其他 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 01 ) 小于等于 isGreaterThanOrEqualTo02 ) 保留4 位数,有逗号 BigNumber(10.123 ).toFormat(4 ) 03 ) 保留4 位数,无逗号 BigNumber(10.123 ).toFormat(4 ) 04 ) 移位获取到前三位数 shiftedBy let x = new BigNumber(0.123 ) x.shiftedBy(3 ).toNumber() 05 )小数位数处理: toFixed 中第二个参数确定取舍方法05 -2 )第二个参数默认值为4 (ROUND_HALF_UP)四舍五入x = 3.456 y = new BigNumber(x) x.toFixed() y.toFixed() y.toFixed(0 ) x.toFixed(2 ) y.toFixed(2 ) y.toFixed(2 , 1 ) x.toFixed(5 ) y.toFixed(5 ) error = new BigNumber(x) error.toNumber().toFixed(2 , 1 ) y.toFixed(0 , 1 ) y.toFixed(2 , 4 ) y.toFixed(2 ) y.toFixed(2 , 1 )
计算顺序 1 2 3 4 5 3.3 -0.3 /3 bigNumber(3.3 ).minus(bigNumber(0.3 )).div(bigNumber(3 )).toNumber()
底部 没有了