Erlang浮动和trunc

Erlang浮动和trunc,erlang,floating-point,truncate,Erlang,Floating Point,Truncate,Windows上的R15b提供: >trunc(1.9999999999999999999). 2 因此,只需键入float返回: > 1.9999999999999999999. 2.0 好了,truncate函数应该只删除小数部分(至少我需要这样)。一个楼层功能可能也会起作用,但我在网上看到的楼层实现使用。。。你猜对了。。。特鲁克 我不是挑剔这个,我实际上需要它对我正在开发的程序是正确的 有什么想法吗 谢谢。您的问题是十进制数表示为符合IEEE标准

Windows上的R15b提供:

>trunc(1.9999999999999999999).
2
因此,只需键入float返回:

> 1.9999999999999999999.              
2.0
好了,truncate函数应该只删除小数部分(至少我需要这样)。一个楼层功能可能也会起作用,但我在网上看到的楼层实现使用。。。你猜对了。。。特鲁克

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

有什么想法吗


谢谢。

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

如果您确实需要精度,您应该使用其他数字数据结构作为或


希望这有帮助

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

如果您确实需要精度,您应该使用其他数字数据结构作为或


希望这有帮助

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

select substring (convert(varchar(14), CAST (20160303013458 as varchar(14))) , 1 , 8)

如果要使TRUNC浮动,可能此选项有助于:

select substring (convert(varchar(14), CAST (20160303013458 as varchar(14))) , 1 , 8)

如果你需要数字是“正确的”,不要使用浮点。没有帮助:1)这甚至没有试图回答我的问题。2) 事实上,我对truncate的需求是试图摆脱浮点数而使用直整数。这就是为什么我没有将其作为答案发布。您的问题是,符合IEEE标准的浮点实现不能将二进制数字1.999999999999999999表示为2.0以外的任何数字。Wooble,这是您应该发布的答案。请尝试阅读或告诉所有人。如果您需要数字“正确”,不要使用浮点。没有帮助:1)这甚至没有试图回答我的问题。2) 事实上,我对truncate的需求是试图摆脱浮点数而使用直整数。这就是为什么我没有将其作为答案发布。您的问题是,符合IEEE标准的浮点实现不能以二进制形式将数字1.999999999999999999表示为2.0以外的任何形式。Wooble,这是您应该发布的答案。请尝试阅读或告诉所有人。问题具体是关于Erlang,而不是SQL,因此这是完全不相关的,问题是关于Erlang的,而不是SQL,因此这是完全不相关的。