bignumber.js API

使用

安装 npm i bignumber.js

引用

import BigNumber from 'bignumber.js'

文档

加法 plus

语法

.plus(n [, base])

参数值

n (必需): number|string|BigNumber 参与计算的数字

base: number 进制 (默认为十进制)

返回值

BigNumber

举例

0.1 + 0.2                       // 0.30000000000000004

x = new BigNumber(0.1)

y = x.plus(0.2)                 // '0.3'

BigNumber(0.7).plus(x).plus(y)  // '1'

x.plus('0.1', 8)                // '0.225'

减法 minus

语法

.minus(n [, base])

参数值

n (必需): number|string|BigNumber 参与计算的数字

base: number 进制 (默认为十进制)

返回值

BigNumber

举例

0.3 - 0.1                       // 0.19999999999999998

x = new BigNumber(0.3)

x.minus(0.1)                    // '0.2'

x.minus(0.6, 20)                // '0'

乘法 multipliedBy

语法

.times(n [, base])

参数值

n (必需): number|string|BigNumber 参与计算的数字

base: number 进制 (默认为十进制)

返回值

BigNumber

举例

0.6 * 3                         // 1.7999999999999998

x = new BigNumber(0.6)

y = x.multipliedBy(3)           // '1.8'

BigNumber('7e+500').times(y)    // '1.26e+501'

x.multipliedBy('-a', 16)        // '-6'

除法 dividedBy

语法

.div(n [, base])

参数值

n (必需): number|string|BigNumber 参与计算的数字

base: number 进制 (默认为十进制)

返回值

BigNumber

举例

x = new BigNumber(355)

y = new BigNumber(113)

x.dividedBy(y)                  // '3.14159292035398230088'

x.div(5)                        // '71'

x.div(47, 16)                   // '5'

除法-取整 dividedToIntegerBy

语法

.idiv(n [, base])

参数值

n (必需): number|string|BigNumber 参与计算的数字

base: number 进制 (默认为十进制)

返回值

BigNumber

举例

x = new BigNumber(5)

y = new BigNumber(3)

x.dividedToIntegerBy(y)         // '1'

x.idiv(0.7)                     // '7'

x.idiv('0.f', 16)               // '5'

除法-取余 modulo

语法

.mod(n [, base])

参数值

n (必需): number|string|BigNumber 参与计算的数字

base: number 进制 (默认为十进制)

返回值

BigNumber

举例

1 % 0.9                         // 0.09999999999999998

x = new BigNumber(1)

x.modulo(0.9)                   // '0.1'

y = new BigNumber(33)

y.mod('a', 33)                  // '3'

指数运算 exponentiatedBy

语法

.pow(n [, m])

参数值

n (必需): number|string|BigNumber 参与计算的数字

m: number|string|BigNumber 指数

返回值

BigNumber

举例

Math.pow(0.7, 2)                // 0.48999999999999994

x = new BigNumber(0.7)

x.exponentiatedBy(2)            // '0.49'

BigNumber(3).pow(-2)            // '0.11111111111111111111'

开平方 squareRoot

语法

.sqrt()

举例

x = new BigNumber(16)

x.squareRoot()                  // '4'

y = new BigNumber(3)

y.sqrt()                        // '1.73205080756887729353'

四舍五入 toFixed

语法

.toFixed([dp [, rm]])

dp (必需): number 保留小数位数

rm: number

举例

x = 3.456

y = new BigNumber(x)

x.toFixed()                     // '3'

y.toFixed()                     // '3.456'

y.toFixed(0)                    // '3'

x.toFixed(2)                    // '3.46'

y.toFixed(2)                    // '3.46'

y.toFixed(2, 1)                 // '3.45'  (ROUND_DOWN)

x.toFixed(5)                    // '3.45600'

y.toFixed(5)                    // '3.45600'


本文章由javascript技术分享原创和收集

推荐阅读

发表评论 (审核通过后显示评论):