如何使用 Base.Rounding.RoundNearestTiesAway :在 Julia 中从零四舍五入

How to use Base.Rounding.RoundNearestTiesAway : rounded away from zero in Julia

如何在 Julia 中从零舍入?

我在这里看到了文档:

https://docs.julialang.org/en/v1/base/math/#Base.Rounding.RoundNearestTiesAway

如何在 Julia 中使用它? 可以和round一起使用吗?

-1.5 给出 -2

1.5 给出 2

将舍入模式作为参数传递给 round。默认情况下,领带四舍五入为偶数:

julia> tuple.(x, round.(-4.5:4.5))
10-element Vector{Tuple{Float64, Float64}}:
 (-4.5, -4.0)
 (-3.5, -4.0)
 (-2.5, -2.0)
 (-1.5, -2.0)
 (-0.5, -0.0)
 (0.5, 0.0)
 (1.5, 2.0)
 (2.5, 2.0)
 (3.5, 4.0)
 (4.5, 4.0)

但是如果你想舍入零使用:

julia> tuple.(x, round.(-4.5:4.5, RoundNearestTiesAway))
10-element Vector{Tuple{Float64, Float64}}:
 (-4.5, -5.0)
 (-3.5, -4.0)
 (-2.5, -3.0)
 (-1.5, -2.0)
 (-0.5, -1.0)
 (0.5, 1.0)
 (1.5, 2.0)
 (2.5, 3.0)
 (3.5, 4.0)
 (4.5, 5.0)

如您所见,对于 1.5 和 -1.5,默认舍入模式与您想要的舍入模式没有区别。但是对于 2.5 和 -2.5 是有区别的。