- package com.anjoyo.day1124;
- public class TestMath {
- public static void main(String[] args) {
- double i = 11.4;
- double i1 = 11.5;
- double i2 = 11.6;
- double i3 = -11.4;
- double i4 = -11.5;
- double i5 = -11.6;
- /*ceil(double d):返回大於等於參數並等於某個整數的最小double值。也就是向上取最接近參數的整數的double值。
- * 特殊情況 如果參數值已經等於某個整數,那麼結果與該參數相同。
- 如果參數爲 NaN、無窮大、正 0 或負 0,那麼結果與參數相同。
- 如果參數值小於 0,但是大於 -1.0,那麼結果爲負 0。
- 注意,Math.ceil(x) 的值與 -Math.floor(-x) 的值完全相同。
- */
- System.out.println(Math.ceil(i));//12.0
- System.out.println(Math.ceil(i1));//12.0
- System.out.println(Math.ceil(i2));//12.0
- System.out.println(Math.ceil(i3));//-11.0
- System.out.println(Math.ceil(i4));//-11.0
- System.out.println(Math.ceil(i5));//-11.0
- /*public static double floor(double a):
- *返回小於等於參數並等於某個整數的最大double值。也就是向下取最接近參數的整數的double值。
- *特殊情況:
- * 如果參數值已經等於某個整數,那麼結果與該參數相同。
- * 如果參數爲 NaN、無窮大、正 0 或負 0,那麼結果與參數相同。
- * */
- System.out.println(Math.floor(i));//11.0
- System.out.println(Math.floor(i1));//11.0
- System.out.println(Math.floor(i2));//11.0
- System.out.println(Math.floor(i3));//-12.0
- System.out.println(Math.floor(i4));//-12.0
- System.out.println(Math.floor(i5));//-12.0
- /*public static int round(float a)
- * 加上 1/2,對結果調用 floor 並將所得結果強制轉換爲 int 類型。換句話說,結果等於以下表達式的值:
- * (int)Math.floor(a + 0.5f)
- * 也就是四捨五入,但是要注意負數的時候.5是捨去的。
- * 特殊情況:
- * 如果參數爲 NaN,那麼結果爲 0。
- * 如果結果爲負無窮大或任何小於等於 Integer.MIN_VALUE 的值,那麼結果等於 Integer.MIN_VALUE 的值。
- * 如果參數爲正無窮大或任何大於等於 Integer.MAX_VALUE 的值,那麼結果等於 Integer.MAX_VALUE 的值。
- * */
- System.out.println(Math.round(i));//11
- System.out.println(Math.round(i1));//12
- System.out.println(Math.round(i2));//12
- System.out.println(Math.round(i3));//-11
- System.out.println(Math.round(i4));//-11
- System.out.println(Math.round(i5));//-12
- }
- }