decimal32
New in version 2.00.8.
语法
decimal32(X, scale)
参数
X 整型/浮点型/字符串类型标量或向量。
scale 整型标量,表示保留的小数位数。
详情
将输入的数据类型转换为 DECIMAL32 类型。
例子
$ a=decimal32(142, 2)
$ a
142.00
$ b=decimal32(1\7, 6)
$ b
0.142857
$ a+b
142.142857
$ a*b
20.28569400
$ decimal32("3.1415926535", 4)
3.1415
//一个 DECIMAL 类型向量里的所有元素的类型和 scale 必须相同
$ d1=[1.23$DECIMAL32(4), 3$DECIMAL32(4), 3.14$DECIMAL32(4)];
[1.2300,3.0000,3.1400]
$ typestr(d1)
FAST DECIMAL32 VECTOR
$ d2=[1.23$DECIMAL32(4), 3$DECIMAL32(4), 3.14$DECIMAL32(3)];
(1.2300,3.0000,3.140)
$ typestr(d2)
ANY VECTOR
注意:将 STRING 或 SYMBOL 类型转换为 DECIMAL 类型时,不同版本服务器的处理方式存在差别。2.00.10 之前版本会将超出 scale 的小数部分直接舍去。而 2.00.10 及之后的版本,会将超出 scale 的小数部分进行四舍五入。见下例:
$ symbol(["1.341", "4.5677"])$DECIMAL32(2)
$ //2.00.10 之前的版本,结果为:
$ [1.34,4.56]
$ //2.00.10 及之后的版本,结果为:
$ [1.34,4.57]