[英]Double is not converting to an int
我編寫的這段代碼將double
轉換為int
出現異常。
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot cast from Double to int
這是我的代碼
Double d = 10.9;
int i = (int)(d);
Double
是原始double
之上的包裝類。 它可以強制轉換為double
,但不能直接轉換為int
。
如果你使用double
而不是Double
,它將編譯:
double d = 10.9;
int i = (int)(d);
您還可以在中間添加一個轉換為double
,如下所示:
int i = (int)((double)d);
多數民眾贊成因為你不能混合拆箱(將你的Double
轉換為雙primitive
)和鑄造。 嘗試
int i = (int)(d.doubleValue());
這個
Double d = 10.9;
是你的錯誤。 您正在使用包裝類而不是數據類型。 使用
double d = 10.9;
您不能直接將像Double這樣的包裝器轉換為原始類型。
你可以嘗試這個 -
int i = (int)((double)d);
有關更多檢查以下鏈接 - http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.