Julia - 分数
在 Julia 中,使用“//”运算符构造分数
julia> 1 // 2 1//2 julia> - 1 // 2 -1//2
分数会自动进行约分
julia> 2 // 4 1//2
负号都是显示在分子部分
julia> - 1 // 2 -1//2 julia> 1 // -2 -1//2
把分数转换为浮点数
julia> float(1 // 2) 0.5
对于任意整数 a,b,a 和 b 不等于 0
julia> isequal(float(1//2),1/2) true
可以构造结果为 Inf 的分数,但不能构造结果为 NaN 的分数
julia> 1 // 0 1//0 julia> typeof(ans) Rational{Int64} julia> -1 // 0 -1//0 julia> typeof(ans) Rational{Int64} julia> 0 // 0 # 结果为 NaN ERROR: ArgumentError: invalid rational: zero(Int64)//zero(Int64) Stacktrace: [1] Type at .\rational.jl:13 [inlined] [2] Type at .\rational.jl:18 [inlined] [3] //(::Int64, ::Int64) at .\rational.jl:41 [4] top-level scope at none:0
num() 函数获取约分后的分子的值
julia> num(1 // 2) 1 julia> num(2 // 4) 1
den() 函数获取约分后的分母的值
julia> den(1 // 2) 2 julia> den(2 // 4) 2
新版本中用 numerator() 函数和 denominator() 函数
julia> numerator(1//2) 1 julia> denominator(1//2) 2