1. 程式人生 > 其它 >float和double使用注意

float和double使用注意

float:單精度浮點數,佔4位元組,32位。

double:雙精度浮點數,佔8位元組,64位。

注意:

  1、十進位制數形式:浮點數必須包含一個小數點,例如:3.13、5.16;不包含小數點會被當成int型別處理,例如:3則會被當成int型別。

  2、科學計數形式:例如:5.12e2、5.12E2,只有浮點型別的數值才可以使用科學計數法形式表示,例如:58000是int型別,58E3則是浮點型別的值,58000.0

    public void test2(){
        // ft的值發生了改變
        float ft = 5.1234567F;
        System.out.println(
"ft---" + ft); // 5.1234565 // db值發生改變 double db = 6.1234567890123456; System.out.println("db---" + db); // 6.123456789012345 // 正無窮大和負無窮大 double dMax = Double.POSITIVE_INFINITY; float fMax = Float.POSITIVE_INFINITY; double dMin = Double.NEGATIVE_INFINITY;
float fMin = Float.NEGATIVE_INFINITY; System.out.println("float和double正無窮大比較---" + (dMax == fMax)); // true System.out.println("float和double負無窮大比較---" + (dMin == fMin)); // true // 0.0 除以 0.0將出現非數 double num = 0.0; System.out.println(num / num); // NaN // 非數之間不相等
System.out.println(num / num == Float.NaN); // false // 所有正無窮大都是相等的 System.out.println(6.0 / 0 == 66.0 / 0); // true // 負數除以0.0得到負無窮大 System.out.println(-6 / 0.0); // -Infinity // 5 除以 0丟擲異常,被除數為整數,除數不能為0,否則丟擲異常 System.out.println(5 / 0); // java.lang.ArithmeticException: / by zero }