# [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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.