容易混淆的某些Math方法說明

1. Math.round

返回最接近的整數值,實際上就是咱們說的對小數進行四捨五入。spa

/**
  * 返回最接近參數的long
  */
static long round(double a)
/**
 * 返回最接近參數的int
 */
static int round(float a)

 實例以下:code

  1. Math.round(8.1): 8
  2. Math.round(8.4): 8
  3. Math.round(8.5): 9
  4. Math.round(8.9): 9
  5. Math.round(-8.1): -8
  6. Math.round(-8.4): -8
  7. Math.round(-8.5): -8     // 負數與整數不一樣。 當第一位小數小於等於5的時候進行進位,所以獲得 -8
  8. Math.round(-8.9): -9     // 當第一位小數大於5時,進行捨去。-9是小於-8的下一個整數,所以獲得-9

 2. Math.floor

實際上就是返回不大於參數的最大整數值的double類型。blog

/**
 * 返回某個最大的double值。該值小於等於參數,並等於某個整數。
 */
static double floor(double a) 
 

實例以下:class

Math.floor(8.9): 8.0
Math.floor(8.1): 8.0
Math.floor(-8.1): -9.0
Math.floor(-8.9): -9.0float

 3. Math.ceil

和Math.floor恰好相反,返回的是不小於參數的最小整數值的double類型。margin

/**
 * 返回最小的(最接近負無窮大)double 值,該值大於等於參數,並等於某個整數。
 */
static double ceil(double a)  

實例以下:static

Math.ceil(8.9): 9.0
Math.ceil(8.1): 9.0
Math.ceil(-8.1): -8.0
Math.ceil(-8.9): -8.0di

相關文章
相關標籤/搜索