ERLANG-默认浮点大小
有没有办法防止像10000000这样的数字被自动转换成浮点数?没有整数被自动转换成浮点数: 只需在erlang shell中键入:ERLANG-默认浮点大小,erlang,floating-point,integer,Erlang,Floating Point,Integer,有没有办法防止像10000000这样的数字被自动转换成浮点数?没有整数被自动转换成浮点数: 只需在erlang shell中键入: 1> 10000000. 10000000 2> 1000000000000000000000000000000000. 1000000000000000000000000000000000 3> 1000000000000000000000000000000000 + 1. 1000000000000000000000000000000001
1> 10000000.
10000000
2> 1000000000000000000000000000000000.
1000000000000000000000000000000000
3> 1000000000000000000000000000000000 + 1.
1000000000000000000000000000000001
有两种情况下会发生类似自动转换的情况:
=:=
防止自动转换):
/
的工作原理与C和类似语言不同,并且总是返回一个浮点(使用div
进行整数除法)但在这两种情况下,数字的大小都不重要。自动转换为浮点是什么意思?我使用过的所有整数无论有多大都始终是整数。您能告诉我您认为发生这种情况的上下文吗?使用/除法将自动转换,而div将生成整数。
1> 1 == 1.0.
true
2> 1 =:= 1.0.
false