【发布时间】:2024-05-23 09:15:01
【问题描述】:
我想对很长的数字进行四舍五入,ROUND() 函数在这里工作得很好,但数字的长度仍然相同。
我用过:
ROUND(152.23456789123456789,1)
得到:152.20000000000000000
但想得到:152.2
我读到有 TRUNCATE() 函数可以“剪切”十进制数字,但这对我不起作用。我收到一条错误消息,指出该功能不存在或权限被拒绝。我正在使用 Vertica。
我尝试的功能是:
TRUNCATE(152.23456789123456789,1)
我还读到向 round 函数添加第三个参数可能会有所帮助,但这对我也不起作用,再次因为该函数不存在:
ROUND(152.23456789123456789,1,1)
你知道我还能做什么吗?
谢谢!
【问题讨论】:
-
尾随的零与 value 无关,而与 data-type无关> 以及该数据类型如何在屏幕上显示为字符串。所以,我想到的问题是:1)。为什么
152.20000000000000000不适合你,而在数学上是 i> 等于152.2? 2). 您要截断/舍入的值的数据类型是什么? 3). 结果将在哪里使用/存储,该目的地期望什么数据类型? 4)。您是否尝试将结果转换为不同的数据类型? -
得到:152.20000000000000000 未复制。 dbfiddle.uk/…这可能是您的客户“服务”。