# API 速查表

URL: https://caijiao.org/decimaljs/12-appendix/01-api-cheatsheet
Source: docs/decimaljs/12-appendix/01-api-cheatsheet.md
Description: 汇总 decimal.js 常用 API 方法和属性，方便开发者快速查阅和使用。

## 构造与实例化

| 方法/属性               | 说明                                  | 示例                           |
|------------------------|-------------------------------------|------------------------------|
| `new Decimal(value)`    | 创建 Decimal 实例，支持数字、字符串等 | `new Decimal('123.45')`      |
| `Decimal.clone()`       | 克隆 decimal.js 类，生成独立版本        | `const Dec = Decimal.clone();` |

## 基本运算方法

| 方法            | 功能                | 示例                         |
|-----------------|---------------------|------------------------------|
| `.plus(value)`  | 加法                | `d1.plus(d2)`                 |
| `.minus(value)` | 减法                | `d1.minus(d2)`                |
| `.times(value)` | 乘法                | `d1.times(d2)`                |
| `.div(value)`   | 除法                | `d1.div(d2)`                  |
| `.pow(value)`   | 幂运算              | `d1.pow(3)`                   |
| `.sqrt()`       | 平方根              | `d1.sqrt()`                   |

## 比较与判断

| 方法            | 功能                       | 示例                        |
|-----------------|----------------------------|-----------------------------|
| `.cmp(value)`   | 比较，返回 -1,0,1           | `d1.cmp(d2)`                 |
| `.eq(value)`    | 等于                       | `d1.eq(d2)`                  |
| `.lt(value)`    | 小于                       | `d1.lt(d2)`                  |
| `.lte(value)`   | 小于等于                   | `d1.lte(d2)`                 |
| `.gt(value)`    | 大于                       | `d1.gt(d2)`                  |
| `.gte(value)`   | 大于等于                   | `d1.gte(d2)`                 |
| `.isPositive()` | 是否为正数（含零）          | `d1.isPositive()`            |
| `.isNegative()` | 是否为负数                  | `d1.isNegative()`            |
| `.isZero()`     | 是否为零                    | `d1.isZero()`                |

## 格式化与转换

| 方法               | 功能                          | 示例                         |
|--------------------|-------------------------------|------------------------------|
| `.toString()`      | 转字符串                      | `d1.toString()`              |
| `.toNumber()`      | 转原生数值                    | `d1.toNumber()`              |
| `.toFixed(dp)`     | 固定小数位数，四舍五入        | `d1.toFixed(2)`              |
| `.toDecimalPlaces(dp, rm)` | 保留小数位，指定舍入模式 | `d1.toDecimalPlaces(3, Decimal.ROUND_HALF_UP)` |
| `.toExponential(dp)`| 科学计数法字符串              | `d1.toExponential(2)`        |

## 全局配置（静态属性和方法）

| 属性/方法               | 说明                         | 示例                         |
|------------------------|------------------------------|------------------------------|
| `Decimal.set(config)`  | 设置全局配置，如精度、舍入模式 | `Decimal.set({ precision: 20 })` |
| `Decimal.precision`    | 当前全局精度                  | `Decimal.precision`           |
| `Decimal.rounding`     | 当前舍入模式                  | `Decimal.rounding`            |

## 舍入模式常量

| 常量                         | 说明                         |
|-----------------------------|------------------------------|
| `Decimal.ROUND_UP`           | 向远离零方向舍入             |
| `Decimal.ROUND_DOWN`         | 向零方向舍入                 |
| `Decimal.ROUND_CEIL`         | 向正无穷方向舍入             |
| `Decimal.ROUND_FLOOR`        | 向负无穷方向舍入             |
| `Decimal.ROUND_HALF_UP`      | 四舍五入（常用）             |
| `Decimal.ROUND_HALF_DOWN`    | 五舍六入                     |
| `Decimal.ROUND_HALF_EVEN`    | 银行家舍入                   |
| `Decimal.ROUND_HALF_CEIL`    | 五入                         |
| `Decimal.ROUND_HALF_FLOOR`   | 五舍六入                     |

---

该速查表覆盖 decimal.js 常用 API，更多详细功能请参考官方文档。
