簡體   English   中英

我們可以不使用類型轉換而長時間存儲雙倍值嗎?

[英]Can we store double value in long without type casting?

我有一個Double值,是否可以在沒有任何類型轉換的情況下將其存儲在long變量中>這可能嗎?

您可以嘗試以下操作:

    double d = 123.0;
    long l = Double.doubleToLongBits(d);
    d = Double.longBitsToDouble(l);
    System.out.println(d);

這將存儲long中double的二進制表示形式。

要存儲實際值(可能會截斷):

long l = Double.valueOf(123.0).longValue();

不進行明確的類型轉換,就不能為long變量賦值。 如果您嘗試不進行類型轉換,則會發現“精度損失錯誤”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM