Erlang(以及扩展 Elixir)支持浮点数。
一些可能的浮动:
Erlang 支持 NaN (nan.
在 Erlang 中)(但是我还没有发现一种输出的方法nan
本身)。
然而,Erlang 不支持Infinity
。虽然 IEEE-754 等通用标准规定人们应该返回Infinity
当做类似的事情时1.0/0.0
,相反,Erlang 抛出一个bad arithmetic error
.
当尝试制作“太大”的浮标时,也会发生同样的情况1.0e400
.
这背后可能有一些(历史?)原因。
查看./erts/emulator/sys/unix/sys_float.c
在我看来,Erlang 正在使用底层的 strtod 实现来转换为“标准”C 浮点数。
在大多数 UNIX 系统上,浮点并未按照该标准实现
在 Erlang 创建时,但会生成 Infinity 的值反而会生成 fpe 信号错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)