本日は四捨五入のメソッドroundの問題です!
問題 - 四捨五入「難易度:中」
Javaの数学的な処理を集めたMathクラスの中に、roundという渡された値を四捨五入して整数を返すメソッドがあります。
たとえば、次のJavaプログラムのようにfloat型の変数aに小数の「4.5」を代入し、それをMath.roundメソッドに渡すと、変数bには小数点第1位が四捨五入された整数の「5」が入ります。
float a = 4.5f;
int b = Math.round(a);
さて、次のJavaプログラムのようにマイナスの小数「-4.5」がMath.roundメソッドに渡された場合、変数dに入る値は何でしょうか?
float c = -4.5f;
int d = Math.round(c);
本日は四捨五入のメソッドroundの問題です!
問題 - 四捨五入「難易度:中」
Javaの数学的な処理を集めたMathクラスの中に、roundという渡された値を四捨五入して整数を返すメソッドがあります。
たとえば、次のJavaプログラムのようにfloat型の変数aに小数の「4.5」を代入し、それをMath.roundメソッドに渡すと、変数bには小数点第1位が四捨五入された整数の「5」が入ります。
float a = 4.5f;
int b = Math.round(a);
さて、次のJavaプログラムのようにマイナスの小数「-4.5」がMath.roundメソッドに渡された場合、変数dに入る値は何でしょうか?
float c = -4.5f;
int d = Math.round(c);
解答
変数dの値は「-4」。
解説
JavaのMath.roundメソッドは渡された値の小数部分が0.5より小さければ、小さい側の整数、0.5より大きい場合は大きい側の整数を返します。そこで、Math.Round関数に「-4.5」を渡すと「-4.5」より大きい側の整数である「-4」が返されます。
数学的な処理ではなく、会計処理のように絶対値を四捨五入して「-5」を返したい場合は、BigDecimalクラスのsetScaleメソッドを使用します。
ではまた来週!