2016-03-02 26 views
0

我有字符串值「2248880.0」,我要轉換爲長期在android系統與代碼:字符串轉換爲龍的Android

Long.parseLong("2248880.0"); 

但我得到錯誤

java.lang.NumberFormatException :長無效:「2248880.0」

so如何解決?

+0

'double d = Double.parseDouble(「2248880.0」);' –

+0

http://stackoverflow.com/questions/19423491/android-how-can-i-convert-string-to-double-without-losing-精確 –

回答

3

這種使用 -

long value = (long) Double.parseDouble("2248880.0"); 

這會投你的答案(這是double類型)long類型。

7

這不是Long值,所以您需要首先將其解析爲Double或Float。之後你可以將它投射到龍。

或者您可以從字符串中刪除.000。

3
java.lang.NumberFormatException: Invalid long: "2248880.0" 

NumberFormatException的是,可能會被拋出,當你 嘗試將字符串轉換成數字,其中該數字可能是一個 INT,浮子,或任何其他Java數值類型的異常。

起初刪除.

再使用。

long YourLongObj = Long.parseLong("Your_string");

請仔細閱讀How can I convert String to Double without losing precision in Java

1

首先聲明一個長變量:

long l; 

對其進行初始化:

l= (long) Double.parseDouble("2248880.0"); 

這是因爲你的價值是雙重的格式,所以你必須首先將其解析爲雙和然後從雙倍到長。