JavaScript 解决小数点数字【加减乘除】计算不精确

简介:当JavaScript作小数计算时存在这精度不准确的Bug。

原因:数字类型只有number类型,number类型相当于其他强类型语言中的double类型(双精度浮点型),不区分浮点型和整数型。

怎么可以向Java语言Bigdecimal类型一样计算呢?

解决办法:

1. Node安装依赖:

npm install --save decimal.js

2.在项目引用:

import { Decimal } from 'decimal.js'

3.在项目使用:【加:add 减:sub 乘:mul 除:div】

//加法运算
const a = 0.12
const b = 0.21
console.log(new Decimal(a).add(new Decimal(b)).toNumber())
 
//减法运算
const a = 2.0
const b = 1.99
console.log(new Decimal(a).sub(new Decimal(b)).toNumber().toFixed(2)
 
//乘法运算
const a = 1.01
const b = 1.02
console.log(new Decimal(a).mul(new Decimal(b)).toNumber())
 
//除法运算
const a = 0.031
const b = 11
console.log(new Decimal(a).div(new Decimal(b)).toNumber())
posted @ 2021-02-20 11:15  皮一皮很开心  阅读(361)  评论(0编辑  收藏  举报