# [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 类型。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up