Java Math.ceil()向上取整裏面的坑

Math.ceil(.95);    // 1
Math.ceil(4);      // 4
Math.ceil(7.004);  // 8
Math.ceil(-0.95);  // -0
Math.ceil(-4);     // -4
Math.ceil(-7.004); // -7

可以看出,Math.ceil()對一個int類型的整數向上取整,永遠是當前值

所以,我們在Math.ceil裏對int整數進行計算時應該用一個double類型的數

錯誤:

int a,b
int c= (int) Math.ceil( a / b);	 //沒有意義 Math.ceil計算的值永遠等於a / b的值

正確:

int a,b
int c= (int) Math.ceil( a * 1.0 / b);	//int整數運算向上轉型變成double雙精度運算 Math.ceil有意義

————————————————
版權聲明:本文爲CSDN博主「額哇」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41490274/article/details/100171419

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章