JS高精度运算 总结 (用于金融行业)

数值处理

js高精度运算说明 : js数值计算的挤过精度是有限制的

1.如果是整数运算,在计算结果是16位证书(千万亿规模数字)以内情况下,可以保证精度不丢失,繁殖

如: 12345678901234567*1=12345678901234568

12345678901234567890*1=12345678901234567000

2.如果是浮点型运算,在计算结果是14整2小数(十万亿规模的数字)以内的请下,可以保证精度不丢失;

在计算10位整,6位小数(十亿规模的数字以内情况下) 可以保证精度不丢失


如果计算结果超出以上范围,则需要使用js的四则运算函数操作计算方可保证精度

PS: 需要引入函数库为 mathcontext.js   bigdecimal.js

特别说明: 运算前,一定不可以让js对需要参与运算的变量进行隐式的数值转换,保持字符串格式!!!

举例:

var a1 = new BigDecimal(a);

var a2 = new BigDecimal(b);//a b为字符串

var c1 = a1.multiply(b1);

var c2 = a1.divide(b1);

var c3 = a1.add(b1);

var c4 = a1.subtract(b1);


你可能感兴趣的:(代码规范)