gpt4 book ai didi

erlang - 整数除法

转载 作者:行者123 更新时间:2023-12-02 04:31:12 25 4
gpt4 key购买 nike

根据定义,整数除法返回商。

为什么 4613.9145 div 100. 给出错误(“错误参数”)?

最佳答案

对于div,参数必须是整数。 / 接受任意数字作为参数,尤其是 float 。因此,对于您的示例,以下内容可行:

1> 4613.9145 / 100.  
46.139145

要对比差异,请尝试:

2> 10 / 10.
1.0

3> 10 div 10.
1

文档:http://www.erlang.org/doc/reference_manual/expressions.html

<小时/>

更新:Integer division ,有时表示为 \,可以定义为:

a \ b = floor(a / b)

因此您需要一个下限函数,该函数不在标准库中。

% intdiv.erl
-module(intdiv).
-export([floor/1, idiv/2]).

floor(X) when X < 0 ->
T = trunc(X),
case X - T == 0 of
true -> T;
false -> T - 1
end;

floor(X) ->
trunc(X) .

idiv(A, B) ->
floor(A / B) .

用法:

$ erl
...
Eshell V5.7.5 (abort with ^G)
> c(intdiv).
{ok,intdiv}
> intdiv:idiv(4613.9145, 100).
46

关于erlang - 整数除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4749911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com