回答編集履歴
1
検証コードを追記
answer
CHANGED
@@ -1,6 +1,19 @@
|
|
1
|
-
元の数値がマイナスのとき、結果が異な
|
1
|
+
元の数値がマイナスのとき、結果が異なります。
|
2
|
+
```ruby
|
3
|
+
data = -1.2
|
4
|
+
print data.to_i
|
5
|
+
print "\n"
|
6
|
+
print data.floor
|
7
|
+
print "\n"
|
8
|
+
```
|
9
|
+
この結果は
|
10
|
+
```
|
11
|
+
-1
|
12
|
+
-2
|
13
|
+
```
|
14
|
+
になります。
|
2
15
|
-1.2 という数値で考えたとき、
|
3
16
|
.to_i は単に小数点以下を削るだけなので -1 に、
|
4
|
-
.floor では「その値を超えない最小の整数」なので、-2
|
17
|
+
.floor では「その値を超えない最小の整数」なので、-2 となるのです。
|
5
18
|
|
6
19
|
※to_i は **より0に近いほうに丸める** に対し、.floor は**数直線上で左側の直近の整数**になります
|