我正在練習調試,有一個問題,我不確定,它問什麼是錯的,我能做些什麼來解決它我讀了書的章節,但沒有足夠的具體。從書粘貼:類型鑄造int到雙java?
INT A = 26.4 ^ 當你編譯,這是消息:
Test.Java:8:精密 INT一個的可能的損失= 26.4;
要求:整數 發現:雙 1錯誤
我對爲什麼會出現錯誤有了深入瞭解,因爲如何雙比INT更高的優先級,以及如何着一個int一定存儲雙重價值。
我的問題是,有沒有辦法將類型轉換變成一個雙類型的變量?或者是通過將int從int更改爲double來解決此問題的唯一方法?
感謝
即使你強制轉換它,它仍然具有精度損失。只有我知道要解決的辦法是讓「a」成爲雙倍。 –
變量的類型不僅是一個_view_(或類似的)值,您可以稍後使用某種類型的轉換進行擴展。它表示內存空間及其在該空間內的值表示。原始類型「int」是一個32位類型,它以二進制補碼形式存儲整數值。在給這個變量賦值之後,任何進一步的信息(例如關於小數)都會丟失。 – Seelenvirtuose