为什么
ceil()
和floor()
不返回整数?如何返回整数?a = 10
b = 3
typeof(a/b)
## Float64
c = ceil(a/b)
typeof(c)
## Float64
在计算范围时,这个问题让我苦恼不已,例如:
k = 0:1:c
## 0.0:1.0:4.0
typeof(k)
## StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}}
完全公开:我认为我有一个答案,所以我将回答自己的问题,但如果你有更好的答案,请发表回答。希望下次有人查找时可以在这里轻松找到答案。
cld
、div
和fld
函数来仅使用整数运算计算ceil(Int, a/b)
、round(Int, a/b)
和floor(Int, a/b)
,这可能更快且不会遇到舍入问题。 - Oscar Smith÷
符号(输入 \div 然后按 Tab 键)来进行整数除法。 - 张实唯