---
source_url: https://docs.dolphindb.cn/zh/funcs/d/decimal64.html
fetched_at: 2026-05-19T09:18:20Z
category: funcs
title: decimal64
sha1: 78897440cc1db01fcad4f72a367a3e248e712401
---

# decimal64

## 语法

`decimal64(X, scale)`

## 详情

将输入的数据类型转换为 DECIMAL64 类型。

## 参数

**X** 整型/浮点型/字符串类型标量或向量。

**scale** 整型标量，表示保留的小数位数。

## 返回值

DECIMAL64 类型的标量或向量。

## 例子

```dolphindb
a=decimal64(142, 2)
a
```

返回：142.00

```dolphindb
b=decimal64(1\7, 6)
b
```

返回：0.142857

```dolphindb
a+b
```

返回：142.142857

```dolphindb
a*b
```

返回：20.28569400

```dolphindb
decimal64("3.1415926535", 4)
```

返回：3.1415

一个 DECIMAL 类型向量里的所有元素的类型和 scale 必须相同，例如：

```dolphindb
d1=[1.23$DECIMAL64(4), 3$DECIMAL64(4), 3.14$DECIMAL64(4)];
```

返回：[1.2300,3.0000,3.1400]

```dolphindb
typestr(d1);
```

返回：FAST DECIMAL64 VECTOR

如果元素的 scale 不同，则会创建并输出元组：

```dolphindb
d2=[1.23$DECIMAL64(4), 3$DECIMAL64(4), 3.14$DECIMAL64(3)];
```

返回：(1.2300,3.0000,3.140)

```dolphindb
typestr(d2);
```

返回：ANY VECTOR

将 STRING 或 SYMBOL 类型转换为 DECIMAL 类型时，不同版本服务器的处理方式存在差别。2.00.10
之前版本会将超出 *scale* 的小数部分直接舍去。而 2.00.10 及之后的版本，会将超出 *scale*
的小数部分进行四舍五入。例如，对于以下的转换：

```dolphindb
symbol(["1.341", "4.5677"])$DECIMAL64(2)
```

2.00.10 之前的版本，结果为：[1.34,4.56]

2.00.10 及之后的版本，结果为：[1.34,4.57]
