您现在的位置是:首页 > 网站制作 > vue.js心得vue.js心得

bignumber.js解决0.2+0.1不等于 0.3问题

蒙xs2022-07-14【vue.js心得】人已围观

简介计算+-*/组件

1.安装
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
// 多个参数
arr = [2, new BigNumber(14), '15.9999', 12]
var y = BigNumber.sum(...arr)
y.toString() // '43.9999'

maximum,minimum

求最大值,简写 max,min
var x = [2222, 3333, '4444']
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

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

multipliedBy(times)
乘法运算

0.6 * 3 // 1.7999999999999998
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

dividedToIntegerBy(idiv)
除法运算,返回整数

var x = new BigNumber(5)
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

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

Tags:

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

站点信息

  • 建站时间:2019-1-11
  • 文章统计142篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 建站,写前端联系我:扫描二维码,