簡単な質問について探している答えが見つからないようです:番号を最も近いint
に切り上げるにはどうすればよいですか?
たとえば、数値が0.2、0.7、0.2222、0.4324、0.99999の場合、結果は1になります。
これまでのところ
int b = (int) Math.ceil(a / 100);
しかし、それは仕事をしているようには見えません。
Math.ceil()
は、呼び出すべき正しい関数です。 a
はint
であると推測しています。これは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 を参照してください
なぜあなたが100で割っているのか分かりませんが、ここでは私の仮定int a;
int b = (int) Math.ceil( ((double)a) / 100);
または
int b = (int) Math.ceil( a / 100.0);
int RoundedUp = (int) Math.ceil(RandomReal);
これは完璧な仕事をするようでした。毎回働いた。