[R]小数点以下の切り捨てを行う
trunc関数を使う。引数に与えた数値の小数点以下を、強制的に切り捨てていると考えればよい。
> d <- c(0.4, 0.5, 0.6, 1.4, 1.5, 1.6)
> for (i in 1:length(d))
+ cat(sprintf("%f -> %f\n", d[i], trunc(d[i])))
0.400000 -> 0.000000
0.500000 -> 0.000000
0.600000 -> 0.000000
1.400000 -> 1.000000
1.500000 -> 1.000000
1.600000 -> 1.000000
> d <- c(-0.4, -0.5, -0.6, -1.4, -1.5, -1.6)
> for (i in 1:length(d))
+ cat(sprintf("%f -> %f\n", d[i], trunc(d[i])))
-0.400000 -> -0.000000
-0.500000 -> -0.000000
-0.600000 -> -0.000000
-1.400000 -> -1.000000
-1.500000 -> -1.000000
-1.600000 -> -1.000000
似たような機能を持つfloor関数もあるが、こちらは小数点以下を強制的に切り捨てているのではなく、引数に与えた数値を超えない最大の整数を返すことに注意。つまり、負数の場合はtrunc関数とfloor関数では動作が異なる。
> d <- c(0.4, 0.5, 0.6, 1.4, 1.5, 1.6)
> for (i in 1:length(d))
+ cat(sprintf("%f -> %f\n", d[i], floor(d[i])))
0.400000 -> 0.000000
0.500000 -> 0.000000
0.600000 -> 0.000000
1.400000 -> 1.000000
1.500000 -> 1.000000
1.600000 -> 1.000000
> d <- c(-0.4, -0.5, -0.6, -1.4, -1.5, -1.6)
> for (i in 1:length(d))
+ cat(sprintf("%f -> %f\n", d[i], floor(d[i])))
-0.400000 -> -1.000000
-0.500000 -> -1.000000
-0.600000 -> -1.000000
-1.400000 -> -2.000000
-1.500000 -> -2.000000
-1.600000 -> -2.000000
« [R]小数点以下の四捨五入を行う | トップページ | [R]小数点以下の切り上げを行う »
「R(数と式)」カテゴリの記事
- [R]数値を文字列に変換する(2026.04.29)
- [R]数値を二進法で表記する(2026.03.29)
- [R]複素数の共役複素数を得る(2026.01.23)
- [R]複素数の偏角を得る(2026.01.22)
- [R]複素数の絶対値を得る(2026.01.20)

コメント