ERLANG - 默认浮动大小

发布于 2024-10-03 04:07:46 字数 41 浏览 2 评论 0原文

有什么方法可以防止 10000000 这样的数字自动转换为浮点数吗?

Is there any way to prevent a number such as 10000000 being auto converted to a float?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌吟 2024-10-10 04:07:46

在两种情况下会发生类似自动转换的情况:

  1. 比较数字是否相等时(可以使用 =:= 来防止自动转换):

    <前><代码>1> 1 == 1.0。
    真的
    2> 1 =:= 1.0。
    错误的

  2. 此外,/ 的工作方式与 C 和类似的语言,并且始终返回浮点数(使用 div 进行整数除法)。

但无论哪种情况,数字的大小都很重要。

There are two contexts in which something like autoconversion happens:

  1. When comparing numbers for equality (you can use =:= to prevent autoconversion):

    1> 1 == 1.0.
    true
    2> 1 =:= 1.0.
    false
    
  2. Also, / works different to C and similar languages and will always return a float (use div for integer division).

But in neither case the size of the numbers matters.

感性不性感 2024-10-10 04:07:46

没有整数会自动转换为浮点数:

只需在 erlang shell 中输入:

1> 10000000.
10000000
2> 1000000000000000000000000000000000.
1000000000000000000000000000000000
3> 1000000000000000000000000000000000 + 1.
1000000000000000000000000000000001

No integers get autoconverted to float:

Just typing into the erlang shell:

1> 10000000.
10000000
2> 1000000000000000000000000000000000.
1000000000000000000000000000000000
3> 1000000000000000000000000000000000 + 1.
1000000000000000000000000000000001
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文