Java で浮動小数点数を次の整数値に切り上げるにはどうすればよいのでしょうか?例えば
2.1 -->3
3.001 -->4
4.5 -->5
7.9 -->8
java's math パッケージの天井切り上げを調べてみてください。Math.ceil
EDIT: Math.ceilのjavadocを追加しました。Math.ceilのすべてのメソッドを読む価値があるかもしれません。
http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#ceil%28double%29
public static double ceil(double a). を満たす最小の(負の無限大に最も近い)二重値を返します。 は、引数以上の値であり、かつ、引数の 数学的整数。特殊な場合 以下のような場合です。 引数値がすでに数学的整数に等しい場合、結果は引数値と同じになります。 引数がNaN、無限大、正のゼロ、負のゼロの場合、結果は引数と同じになります。 引数の値が0より小さく-1.0より大きい場合、結果は負の0となります。 Math.ceil(x) の値は、ちょうど、 Math.ceil(x) の値であることに注意してください。 -Math.floor(-x).
public static double ceil(double a).
public static double ceil(double a)
を満たす最小の(負の無限大に最も近い)二重値を返します。 は、引数以上の値であり、かつ、引数の 数学的整数。特殊な場合 以下のような場合です。 引数値がすでに数学的整数に等しい場合、結果は引数値と同じになります。 引数がNaN、無限大、正のゼロ、負のゼロの場合、結果は引数と同じになります。 引数の値が0より小さく-1.0より大きい場合、結果は負の0となります。
Math.ceil(x) の値は、ちょうど、 Math.ceil(x) の値であることに注意してください。 -Math.floor(-x).
Math.ceil(x)
-Math.floor(-x)
やってみる
float a = 4.5f; int d = (int) Math.ceil(a); System.out.println(d);
参照
float a=10.34f,b=45.678f; System.out.println((int)Math.ceil(a)); System.out.println((int)Math.ceil(b));
出力
11 46
java's math パッケージの天井切り上げを調べてみてください。Math.ceil
EDIT: Math.ceilのjavadocを追加しました。Math.ceilのすべてのメソッドを読む価値があるかもしれません。
http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#ceil%28double%29
やってみる
参照
出力