web-dev-qa-db-ja.com

Javaの任意の数の切り上げ

簡単な質問について探している答えが見つからないようです:番号を最も近いintに切り上げるにはどうすればよいですか?

たとえば、数値が0.2、0.7、0.2222、0.4324、0.99999の場合、結果は1になります。

これまでのところ

int b = (int) Math.ceil(a / 100);

しかし、それは仕事をしているようには見えません。

129
Stevanicus

Math.ceil() は、呼び出すべき正しい関数です。 aintであると推測しています。これはa / 100に整数演算を実行させます。代わりにMath.ceil(a / 100.0)を試してください。

int a = 142;
System.out.println(a / 100);
System.out.println(Math.ceil(a / 100));
System.out.println(a / 100.0);
System.out.println(Math.ceil(a / 100.0));
System.out.println((int) Math.ceil(a / 100.0));

出力:

1
1.0
1.42
2.0
2

http://ideone.com/yhT0l を参照してください

251
marcog

なぜあなたが100で割っているのか分かりませんが、ここでは私の仮定int a;

int b = (int) Math.ceil( ((double)a) / 100);

または

int b = (int) Math.ceil( a / 100.0);
15
user467871
int RoundedUp = (int) Math.ceil(RandomReal);

これは完璧な仕事をするようでした。毎回働いた。

10
Liehan Els