Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เมื่อไหร่ควรใช้ double แทน float ใน Java

ทั้ง double และ float ใช้แทนตัวเลข จุดลอยตัว (floating-point) ใช้ double เมื่อต้องการ ความแม่นยำสูงกว่า

คุณสมบัติ double float
ความแม่นยำ 15-16 หลักทศนิยม 6-7 หลักทศนิยม
ขนาด 64 บิต (8 ไบต์) 32 บิต (4 ไบต์)
บิตเครื่องหมาย (sign) 1 บิต 1 บิต
บิตเลขชี้กำลัง (exponent) 11 บิต 8 บิต
บิตความแม่นยำ (mantissa) 52 บิต 23 บิต
ค่าเริ่มต้น 0.0d 0.0f
คำแนะนำใช้งาน คำนวณทั่วไป, ตัวแปรชั่วคราว อาร์เรย์ตัวเลขขนาดใหญ่ (ประหยัดหน่วยความจำ)

ตัวอย่างเปรียบเทียบ

public class DoubleFloatTest {
    public static void main(String[] args) {
        double d = 55.637848675695785;
        float f = 25.657933f;
        System.out.println("Value of double: " + d);
        System.out.println("Value of float: " + f);
    }
}

ผลลัพธ์

Value of double: 55.637848675695786
Value of float: 25.657932

สังเกต: float สูญเสียความแม่นยำหลักที่ 7 ขึ้นไป double รักษาความแม่นยำได้ดีกว่ามาก

แนวทางปฏิบัติ: ใช้ double เป็นค่าเริ่มต้นสำหรับการคำนวณ ใช้ float เฉพาะเมื่อต้องการประหยัดหน่วยความจำในอาร์เรย์ขนาดใหญ่