javascript的精确计算BigDecimal

一、引入

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允许链式操作,但只会顺序执行,不会按照计算规则先算乘除后算加减

javascript的精确计算BigDecimal_第1张图片 5-1+4*3/2 在实际计算中得到的结果是10,但在上面代码中的执行结果为12.00

你可能感兴趣的:(javascript,前端,开发语言)