Devdit
 

incompatible types: possible lossy conversion from double to float คือ วิธีแก้ไข

1K

เขียนโค้ดเลขยกกำลังของภาษา Java โดยใช้คำสั่ง Math.pow แต่พอรันแล้วเกิด Error ว่า Test.java:11: error: incompatible types: possible lossy conversion from double to float แบบนี้ต้องแก้ไขอย่างไร

import java.lang.Math;

class Test {  
    public static void main(String args[]){ 
        float f = 10;
        float p = 0;
        p = Math.pow( 10, 2 );
        System.out.println( f );
    }
}

 

วิธีแก้ไข

ปัญหานี้เกิดจากคำสั่ง Math.pow ขอภาษา Java จะคืนค่ากลับมาเป็นข้อมูลชนิด double ซึ่งตัวแปร p ที่รับค่าเป็นชนิด float จึงทำให้เกิดข้อผิดพลาดดังกล่าว แนะนำเปลี่ยน float เป็น double

import java.lang.Math;

class Test {  
    public static void main(String args[]){ 
        float f = 10;
        double p = 0;
        p = Math.pow( 10, 2 );
        System.out.println( f );
    }
}

ผลลัพธ์

10.0
แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ