一、引入
var bigdecimal = require("bigdecimal");
二、转换成bigdecimal类型数据
let value = new bigdecimal.BigDecimal('0')
let value = new bigdecimal.BigDecimal(''+number)
在处理数据时尽量使用第二种方法定义,防止在后续计算过程中出现问题
三、运算法则
1、加法 add()
let value1 = new bigdecimal.BigDecimal('1')
let value2 = new bigdecimal.BigDecimal('2')
let value3 = value1.add(value2)
2、减法 subtract()
let value1 = new bigdecimal.BigDecimal('2')
let value2 = new bigdecimal.BigDecimal('1')
let value3 = value1.subtract(value2)
3、乘法 multiply()
let value1 = new bigdecimal.BigDecimal('1')
let value2 = new bigdecimal.BigDecimal('2')
let value3 = value1.multiply(value2)
4、除法 divide()
let value1 = new bigdecimal.BigDecimal('2')
let value2 = new bigdecimal.BigDecimal('1')
let value3 = value1.divide(value2)
四、保留小数位 setScale(几位小数,取整方式)
第一个参数接收需要保留的位数,setScale(2)表示保留两位小数
第二个参数接收取整方式,setScale(2, bigdecimal.BigDecimal.ROUND_DOWN)表示保留两位小数,向下取整
取整方式:ROUND_DOWN 向下取整;ROUND_UP向上取整;ROUND_HALF_UP四舍五入;
五、使用方法
bigdecimal允许链式操作,但只会顺序执行,不会按照计算规则先算乘除后算加减
5-1+4*3/2 在实际计算中得到的结果是10,但在上面代码中的执行结果为12.00