# 有效数字与指数

URL: https://caijiao.org/decimaljs/07-config/03-exponent-range
Source: docs/decimaljs/07-config/03-exponent-range.md
Description: 介绍 decimal.js 中关于有效数字和指数范围的配置选项，帮助用户控制数值表示的精度和科学计数法的使用范围。

decimal.js 提供配置项用于设置有效数字和指数范围，影响数值的计算精度和字符串输出格式。

## 主要配置项

- `precision`  
  有效数字的最大位数，决定 Decimal 实例的精度（默认 20）。

- `toExpNeg` 和 `toExpPos`  
  控制字符串转换时，何时使用科学计数法表示数字。

  - `toExpNeg`：当指数小于该值时，使用科学计数法。  
  - `toExpPos`：当指数大于该值时，使用科学计数法。

  默认值分别为 -7 和 21。

## 配置示例

```js
import Decimal from 'decimal.js';

// 设置最大有效数字为 30 位
Decimal.set({ precision: 30 });

// 设置科学计数法显示范围
Decimal.set({ toExpNeg: -5, toExpPos: 10 });

const a = new Decimal('0.00000123');
console.log(a.toString()); // 不使用科学计数法，输出 "0.00000123"

const b = new Decimal('1e+15');
console.log(b.toString()); // 使用科学计数法，输出 "1e+15"
````

## 说明

* 通过合理调整 `toExpNeg` 和 `toExpPos`，可以控制数值字符串的可读性和简洁性。
* `precision` 控制计算的有效数字，数值超出时自动进行舍入。
* 配置项对全局生效，影响所有 Decimal 实例。

---

掌握有效数字和指数范围配置，能更好地控制数值的精度和显示效果，满足不同业务场景需求。
