用法:
round([T,] x, [r::RoundingMode])
round(x, [r::RoundingMode]; digits::Integer=0, base = 10)
round(x, [r::RoundingMode]; sigdigits::Integer, base = 10)
将数字四舍五入 x
。
如果没有关键字参数,x
将被四舍五入为整数值,返回类型为 T
的值,如果没有提供 T
,则返回与 x
相同类型的值。如果该值不能由 T
表示,则将抛出
,类似于 InexactError
。convert
如果提供了 digits
关键字参数,它将舍入到小数点后的指定位数(如果为负数,则在前),以 base
为基础。
如果提供了 sigdigits
关键字参数,它会舍入到指定的有效位数,以 base
为基础。
RoundingMode
r
控制舍入的方向;默认值为
,四舍五入到最接近的整数,而平局(小数值为 0.5)四舍五入到最接近的偶数。请注意,如果更改全局舍入模式,RoundNearest
round
可能会给出不正确的结果(请参阅
)。rounding
例子
julia> round(1.7)
2.0
julia> round(Int, 1.7)
2
julia> round(1.5)
2.0
julia> round(2.5)
2.0
julia> round(pi; digits=2)
3.14
julia> round(pi; digits=3, base=2)
3.125
julia> round(123.456; sigdigits=2)
120.0
julia> round(357.913; sigdigits=4, base=2)
352.0
注意
对二进制浮点数进行运算时,舍入到以 2 为基数的指定数字可能是不精确的。例如,1.15
表示的
值实际上是Float64
less
而不是1.15,但将四舍五入为1.2。
例子
julia> x = 1.15
1.15
julia> @sprintf "%.20f" x
"1.14999999999999991118"
julia> x < 115//100
true
julia> round(x, digits=1)
1.2
扩展
要将 round
扩展到新的数字类型,通常定义 Base.round(x::NewType, r::RoundingMode)
就足够了。
相关用法
- Julia round()用法及代码示例
- Julia rot180用法及代码示例
- Julia rotr90用法及代码示例
- Julia rotl90用法及代码示例
- Julia rem用法及代码示例
- Julia rpad用法及代码示例
- Julia reduce方法用法及代码示例
- Julia redirect_stdio用法及代码示例
- Julia readchomp用法及代码示例
- Julia rstrip用法及代码示例
- Julia readuntil用法及代码示例
- Julia replace!用法及代码示例
- Julia real方法用法及代码示例
- Julia rationalize用法及代码示例
- Julia rsplit用法及代码示例
- Julia readlines用法及代码示例
- Julia replace()用法及代码示例
- Julia retry用法及代码示例
- Julia read用法及代码示例
- Julia reverseind用法及代码示例
- Julia reim用法及代码示例
- Julia repeat方法用法及代码示例
- Julia readline用法及代码示例
- Julia repeat用法及代码示例
- Julia repr方法用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.round — Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。