# [Big.js ](https://github.com/MikeMcl/big.js)
A small, fast JavaScript library for arbitrary-precision decimal arithmetic.
一個小型、快速的 JavaScript 函式庫,用於任意精確度的十進制算術。
CDN:
> <script src='https://cdn.jsdelivr.net/npm/big.js@6.2.1/big.min.js'></script>
NPM:
> $ npm install big.js
CommonJS:
> const Big = require('big.js');
big.js的API主要分为以下两个部分:
常量定义
运算操作函数
接下来,我们一个一个部分来看。
常量定义
big.js的常量定义一共有5个,分别的含义是:
DP,小数点后位数,默认值是20
RM,四舍五入方式,默认为1,代表向最近的整数取整。如果是0.5,那么向下取整。
NE:在转换为字符串时展示为科学计数法的最小小数位数。默认值是-7,即小数点后第7为才开始不是0。
PE:在转换为字符串时展示位科学计数法的最小整数位数。默认值是21,即数字长度超过21位。
strict:默认值为false。设置为true时,构造函数只接受字符串和大数。
运算符操作函数
abs,取绝对值。
cmp,compare的缩写,即比较函数。
div,除法。
eq,equal的缩写,即相等比较。
gt,大于。
gte,小于等于,e表示equal。
lt,小于。
lte,小于等于,e表示equal。
minus,减法。
mod,取余。
plus,加法。
pow,次方。
prec,按精度舍入,参数表示整体位数。
round,按精度舍入,参数表示小数点后位数。
sqrt,开方。
times,乘法。
toExponential,转化为科学计数法,参数代表精度位数。
toFied,补全位数,参数代表小数点后位数。
toJSON和toString,转化为字符串。
toPrecision,按指定有效位数展示,参数为有效位数。
toNumber,转化为JavaScript中number类型。
valueOf,包含负号(如果为负数或者-0)的字符串。
---
計算常用法
在 big.js 库中,可以使用方法 .plus(), .minus(), .times(), 和 .div() 来分别执行加法、减法、乘法和除法运算。这些方法提供了比原生 JavaScript 更高的数值计算精度,特别适用于需要高精度计算的场景,如金融计算。
以下是每个方法的简要说明和示例:
* .plus()
用于加法运算。它接受一个参数,即要加上的数值。
用法:bigNumber.plus(number)
参数:number 可以是另一个 Big 实例、一个数字(number 类型)或一个数字字符串。
返回值:返回一个新的 Big 实例,表示加法运算的结果。
```
let a = new Big('0.1');
let b = a.plus('0.2'); // 结果为 0.3
```
* .minus()
用于减法运算。它接受一个参数,即要减去的数值。
用法:bigNumber.minus(number)
参数:number 可以是另一个 Big 实例、一个数字(number 类型)或一个数字字符串。
返回值:返回一个新的 Big 实例,表示减法运算的结果。
```
let a = new Big('0.3');
let b = a.minus('0.1'); // 结果为 0.2
```
* .times()
用于乘法运算。它接受一个参数,即要乘以的数值。
用法:bigNumber.times(number)
参数:number 可以是另一个 Big 实例、一个数字(number 类型)或一个数字字符串。
返回值:返回一个新的 Big 实例,表示乘法运算的结果。
```
let a = new Big('2');
let b = a.times('3'); // 结果为 6
```
* .div()
用于除法运算。它接受一个参数,即要除以的数值。
用法:bigNumber.div(number)
参数:number 可以是另一个 Big 实例、一个数字(number 类型)或一个数字字符串。
返回值:返回一个新的 Big 实例,表示除法运算的结果。
```
let a = new Big('10');
let b = a.div('2'); // 结果为 5
```
注意事项
在使用这些方法时,确保所有涉及到的数值都被转换为 Big 实例,然后再进行任何算术运算。
这些方法返回的结果是 Big 对象,可以继续用于进一步的链式计算,或使用 .toNumber() 或 .toString() 方法转换为原生 JavaScript 类型。