R15b 在 Windows 上给出:
>trunc(1.9999999999999999999).
2
就此而言,只需键入浮点数即可返回:
> 1.9999999999999999999.
2.0
AFAIK,截断函数应该只删除分数部分(至少这是我所需要的,无论如何)。 楼层函数也可以使用 AFAIK,但我在网上看到的地板实现使用......你猜对了...特朗克。
我不是在吹毛求疵,我实际上需要这对于我正在开发的程序是正确的。
对此有什么想法吗?
谢谢。
您的问题是十进制数表示为符合 IEEE 标准的二进制表示形式(32、64 或 128 位)。
如果你真的需要精度,你应该使用其他数值数据结构作为二进制编码十进制或定点算术。
希望这有帮助!
如果你想让TRUNC浮动,也许这个可以提供帮助:
select substring (convert(varchar(14), CAST (20160303013458 as varchar(14))) , 1 , 8)