# 支持的输入类型

URL: https://caijiao.org/decimaljs/03-decimal-instance/02-input-types
Source: docs/decimaljs/03-decimal-instance/02-input-types.md
Description: 介绍 decimal.js 构造函数支持的多种输入类型及其使用建议，帮助开发者正确创建 Decimal 实例。

decimal.js 的构造函数 `Decimal(value)` 支持多种类型的输入，以方便灵活地创建高精度数值对象。

## 1. 数字（Number）

直接传入 JavaScript 的原生数字类型。

```js
const a = new Decimal(0.1);
````

**注意**：数字类型可能带有原生浮点精度误差，建议对精度要求高的场景慎用。

## 2. 字符串（String）

推荐使用字符串表示数字，避免浮点数精度问题。

```js
const b = new Decimal('0.1');
const c = new Decimal('123.4567890123456789');
```

字符串可以是整数、小数、科学计数法等格式。

## 3. Decimal 实例

可以传入另一个 Decimal 实例，创建该实例的克隆。

```js
const d = new Decimal(a);
```

这样可以生成一个新的 Decimal 对象，避免引用相同实例。

## 4. 其他类型

* 不支持直接传入布尔值、对象或数组，否则会抛出错误。
* 可以传入有效的数值字符串，否则会抛出异常。

---

通过支持多种输入类型，decimal.js 提供了灵活且安全的数值实例创建方式，推荐优先使用字符串输入以确保最大精度。
