2017-12-14 28 views

答えて

-1

明示的な型キャストなしでは、長い変数に値を割り当てることはできません。 タイプキャストなしで試している場合は、「精度の低下エラー」があります。

+0

'Double.valueOf(double).longValueOf()'が見られました –

+0

@ Nishanthあなたが言及したように、私は試しましたが、上記の機能を実行中にエラーが発生します。 クラスTest { \tパブリック静的無効メイン(文字列[] args){ \t \t長L =は、Double.valueOf(56.78).longValueOf(); \t \t System.out.println(l); \t} } エラー - 管理者-のMacBook Proの-:Javaのサンディープ$ javacのTest.java Test.java:3:エラー:シンボル \t \t長いL =は、Double.valueOf(56.78)を見つけることができません。 longValueOf();方法longValueOf() 場所:^ シンボル\t \tクラスダブル –

+0

使用に適切な引用SO –

1

あなたは、これを試すことができます。

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

これは長い間に、二重のバイナリ表現を格納します。

実際の値(可能切り捨て)を保存するには:

long l = Double.valueOf(123.0).longValue(); 
関連する問題