您现在的位置是:首页 > 网站制作 > vue.js心得vue.js心得
bignumber.js解决0.2+0.1不等于 0.3问题
蒙xs2022-07-14【vue.js心得】人已围观
简介计算+-*/组件
1.安装
2.导入
3.使用
4.常用算法
0.1 + 0.2 // 0.30000000000000004
var x = new BigNumber(0.1)
x.plus(0.2).toNumber() // 0.3
multipliedBy(times)
dividedBy(div)
dividedToIntegerBy(idiv)
modulo(mod)
npm install bignumber.js
2.导入
const BigNumber = require('bignumber.js');
3.使用
console.log(BigNumber(0.2).plus(0.1).toNumber())//plus是加法
4.常用算法
sum
计算传入的参数和,参数类型可以是 String,Number
// 两数之和
var x = BigNumber.sum('11', 23)
x.toNumber() // 34
var x = BigNumber.sum('11', 23)
x.toNumber() // 34
// 多个参数
arr = [2, new BigNumber(14), '15.9999', 12]
var y = BigNumber.sum(...arr)
y.toString() // '43.9999'
arr = [2, new BigNumber(14), '15.9999', 12]
var y = BigNumber.sum(...arr)
y.toString() // '43.9999'
maximum,minimum
求最大值,简写 max,minvar x = [2222, 3333, '4444']
BigNumber.max(...x).toNumber() // 4444
BigNumber.min(...x).toNumber() // 2222
BigNumber.max(...x).toNumber() // 4444
BigNumber.min(...x).toNumber() // 2222
decimalPlaces(dp)
确定小数位数var x = new BigNumber(1234.5678912345)
var y = new BigNumber(1234.56)
x.dp(2).toNumber() // 1234.56
y.dp(10).toNumber() // 1234.56
var y = new BigNumber(1234.56)
x.dp(2).toNumber() // 1234.56
y.dp(10).toNumber() // 1234.56
plus
加法运算0.1 + 0.2 // 0.30000000000000004
var x = new BigNumber(0.1)
x.plus(0.2).toNumber() // 0.3
minus
减法运算0.3 - 0.1 // 0.19999999999999998
var x = new BigNumber(0.3)
x.minus(0.1) // 0.2
var x = new BigNumber(0.3)
x.minus(0.1) // 0.2
multipliedBy(times)
乘法运算
0.6 * 3 // 1.7999999999999998
var x = new BigNumber(0.6)
x.times(3) // 1.8
var x = new BigNumber(0.6)
x.times(3) // 1.8
dividedBy(div)
除法运算
var x = new BigNumber(300)
x.div(3).toNumber() // 100
x.div(7).dp(3).toNumber() // 42.857
x.div(3).toNumber() // 100
x.div(7).dp(3).toNumber() // 42.857
dividedToIntegerBy(idiv)
除法运算,返回整数
var x = new BigNumber(5)
x.idiv(3).toNumber() // 1
x.idiv(0.7).toNumber() // 7
x.idiv(3).toNumber() // 1
x.idiv(0.7).toNumber() // 7
modulo(mod)
取余
1 % 0.9 // 0.09999999999999998
var x = new BigNumber(1)
x.mod(0.9).toNumber() // 0.1
var x = new BigNumber(1)
x.mod(0.9).toNumber() // 0.1
toFixed控制小数位数,不够后面补 0
var x = 3.456
var y = new BigNumber(x)
x.toFixed().toNumber() // 3
y.toFixed().toNumber() // 3.456
y.toFixed(0).toNumber() // 3
y.toFixed(2).toNumber() // 3.46
y.toFixed(5).toNumber() // 3.45600
var y = new BigNumber(x)
x.toFixed().toNumber() // 3
y.toFixed().toNumber() // 3.456
y.toFixed(0).toNumber() // 3
y.toFixed(2).toNumber() // 3.46
y.toFixed(5).toNumber() // 3.45600
Tags:
很赞哦! ()
上一篇:使用mockjs测试数据
下一篇:子级点击事件阻止触发父级点击事件