1

Windows 上的 R15b 提供:

>trunc(1.9999999999999999999).
2

就此而言,只需键入 float 即可返回:

> 1.9999999999999999999.              
2.0

AFAIK,截断函数应该只删除小数部分(至少这是我需要的,无论如何)。地板功能也可能起到 AFAIK 的作用,但我看到的地板实现在线发布使用......你猜对了...... trunc。

我不是在挑剔这个,我实际上需要这个对于我正在开发的程序是正确的。

对此有什么想法吗?

谢谢。

4

2 回答 2

1

您的问题是十进制数字表示为符合 IEEE 的二进制表示(32、64 或 128 位)。

如果您真的需要精度,您应该使用其他数字数据结构,如 Binary Coded Decimal定点算术

希望这可以帮助!

于 2012-05-02T08:36:08.767 回答
0

如果你想让 TRUNC 浮动,也许这个可以帮助:

select substring (convert(varchar(14), CAST (20160303013458 as varchar(14))) , 1 , 8)
于 2017-12-27T12:58:22.560 回答