首先,你需要安装 decimal.js 库:
npm install decimal.js
在代码中引入插件:
const Decimal = require('decimal.js');
或者
import Decimal from 'decimal.js';
以下则列举一些插件的基本用法:
##### 创建一个 Decimal 实例
const a = new Decimal(0.1); // 从数字创建
const b = new Decimal('0.2'); // 从字符串创建
const c = new Decimal(a); // 从另一个 Decimal 实例创建
##### 加法
const sum = a.plus(b);
console.log(sum.toString()); // "0.3"
##### 减法
const difference = a.minus(b);
console.log(difference.toString()); // "-0.1"
##### 乘法
const product = a.times(b);
console.log(product.toString()); // "0.02"
##### 除法
const quotient = a.div(b);
console.log(quotient.toString()); // "0.5"
##### 取模
const remainder = a.mod(b);
console.log(remainder.toString()); // "0.1"
##### 幂运算
const pow = a.pow(2);
console.log(pow.toString()); // "0.01"
##### 平方根
const sqrt = a.sqrt();
console.log(sqrt.toString()); // "0.31622776601683793319988935444327"
##### 比较
const x = new Decimal(3);
const y = new Decimal(4);
console.log(x.isGreaterThan(y)); // false
console.log(x.isLessThan(y)); // true
console.log(x.equals(y)); // false
##### 格式化输出
const d = new Decimal(12345.6789);
console.log(d.toFixed(2)); // "12345.68"
console.log(d.toExponential(2)); // "1.23e+4"
console.log(d.toPrecision(6)); // "12345.7"
##### 取整与取绝对值
const e = new Decimal(-123.456);
console.log(e.toInteger().toString()); // "-123"
console.log(e.abs().toString()); // "123.456"
##### 计算复利收益
// 计算年复利收益
const principal = new Decimal(1000);
const rate = new Decimal(0.05);
const years = new Decimal(10);
const amount = principal.times(Decimal(1).plus(rate).pow(years));
console.log(amount.toFixed(2)); // 输出: "1628.89"
配置全局设置
你可以通过 Decimal.set 来配置全局设置,比如精度和舍入模式:
Decimal.set({ precision: 20, rounding: Decimal.ROUND_HALF_UP });
在typeScript中使用,可以安装相关的类型定义文件:
npm install @types/decimal.js --save-dev
在代码中如下使用:
import Decimal from 'decimal.js';
const a: Decimal = new Decimal(0.1);
const b: Decimal = new Decimal('0.2');
const sum: Decimal = a.plus(b);
console.log(sum.toString()); // 输出: "0.3"