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 .
ational.jl:13 [inlined]
 [2] Type at .
ational.jl:18 [inlined]
 [3] //(::Int64, ::Int64) at .
ational.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
原文地址:https://www.cnblogs.com/sch01ar/p/9495535.html