朱莉娅:ceil/floor return 可以是整数吗?
Julia: Can ceil/floor return an integer?
为什么 ceil()
和 floor()
return 不是整数?我怎样才能 return 一个整数?
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}}
完全披露:我想我有答案,所以我要回答我自己的问题,但是如果您有更好的答案,请 post 回答。希望下次有人看时,他们会在这里轻松找到答案。
有时您希望 ceil()
和 floor()
到 return 不是整数的东西,例如Inf
、NaN
。但是,您可以 return 一个像这样的整数:
julia> c = ceil(Int64, a/b)
julia> typeof(c)
Int64
julia> k = 0:1:c
0:1:4
julia> typeof(k)
StepRange{Int64, Int64}
见docs
为什么 ceil()
和 floor()
return 不是整数?我怎样才能 return 一个整数?
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}}
完全披露:我想我有答案,所以我要回答我自己的问题,但是如果您有更好的答案,请 post 回答。希望下次有人看时,他们会在这里轻松找到答案。
有时您希望 ceil()
和 floor()
到 return 不是整数的东西,例如Inf
、NaN
。但是,您可以 return 一个像这样的整数:
julia> c = ceil(Int64, a/b)
julia> typeof(c)
Int64
julia> k = 0:1:c
0:1:4
julia> typeof(k)
StepRange{Int64, Int64}
见docs