以下のコードを実行すると、メッセージボックスには何と表示されるか。
選択肢の中から正しいものを1つ解答しなさい。
Sub Exam1()
Dim N As Double
N = 123.45
MsgBox Round(N, 0)
End Sub
1.123.5
2.123
3.124
4.123.4
正解
2
解説
【8章 関数】
【Round関数】
【Round関数】
●Round関数は小数を四捨五入した結果を返します。
桁の位置
構文
Round(値, 桁の位置)
●桁の位置
0・・・小数点第1位
1・・・小数点第2位
2・・・小数点第3位
●なおマクロのRound関数には銀行丸めの仕様が適用されます。
銀行丸めでは、丸める際に境界の数値(0.5など)が出た場合、最も近い偶数に丸めるというルールが適用されます。
これは、数値の偏りを減らし、統計的に公平になるよう設計された方法です。
' 銀行丸めが適用される例
Debug.Print Round(1.5, 0) ' 結果: 2(偶数に丸められる)
Debug.Print Round(2.5, 0) ' 結果: 2(偶数に丸められる)
Debug.Print Round(3.5, 0) ' 結果: 4(偶数に丸められる)
以下のコードを実行すると、メッセージボックスには何と表示されるか。
選択肢の中から正しいものを1つ解答しなさい。
【コード解説】
Sub Exam1()
Dim N As Double
’変数を宣言する。
N = 123.45
’変数に右辺の小数点を含む数値を代入する。
MsgBox Round(N, 0)
’Round関数で小数点第一位を四捨五入した結果を返し、メッセージで表示する。
End Sub

1.123.5
誤り。
Round関数の第2引数に0を指定した場合、小数第1位で四捨五入するため、このような結果にはなりません
2.123
正しい。
Round関数は、第1引数の数値を第2引数で指定した桁位置で四捨五入します。
第2引数に0を指定した場合、小数第1位で四捨五入され、結果は整数になります。
123.45の小数第1位は4なので切り捨てとなり、123が表示されます。
3.124
誤り。
小数第1位が5以上の場合に切り上げられますが、123.45の小数第1位は4なので切り捨てです。
4.123.4
誤り。
Round関数の第2引数に0を指定した場合、小数点以下は表示されず整数になります。