数値の丸め,四捨五入とか

MathematicsのBase.round にある通り.

round([T,] x, [r::RoundingMode])
round(x, [r::RoundingMode]; digits::Integer=0, base = 10)
round(x, [r::RoundingMode]; sigdigits::Integer, base = 10)

もっと確認したければ

julia> @edit round
help?> round

のどちらかで.
他の言語にもあるように,ceil・floor・truncもある.それぞれ,値が大・小・0に近い方向に丸める.引数,キーワード引数はroundと同じ.

整数への丸め

整数の型名を入力するとその型に変換される.
Floatを維持したければ最初に型は入力しない.

julia> round(Int64,1234.5678)
 1235
julia> round(1234.5678)
 1235.0
julia> typeof(ans)
 Float64

小数第 n 位,有効桁数 m で丸め

それぞれdigitsとsigdigitsのキーワード引数で指定.

julia> round(1234.5678, digits=3)
 1234.568
julia> round(1234.5678, sigdigits=3)
 1230.0

最も近い値を求める

丸めとは違うが,

julia> v = [1 5 10 15 30 60];
julia> x = 7.0;

として,x::Float64 を v::Array{Float64,1} の中で最も近い値を求めるときは,

julia> v[findmin(abs.(x.-v))[2]]
 5.0

のようにする.findminの戻り値はインデックスを表し,型はInt64かCartesianIndexになる.


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2018-10-04 (Thu) 12:18:19 (19d)
Powered by PHP 5.6.21. HTML convert time: 0.047 sec.