2014-12-30 170 views
-2

我從另一個系統字符串到雙轉換

String value = "33.123456". 

我怎樣才能將其轉換爲33123456獲得的字符串格式的十進制值,而不做字符串分割爲「[]」,並再次加入?

回答

3

通過更換.String,並解析到long

Long.parseLong(value.replace(".", "")); 

也處理NumberFormatException

,如果你想處理

123.00 

,使它象

123 

然後用10功率相乘,如下所示,

String str = "123.0"; 
int numberOfDigitAfterDecimalPoint = str.length() - str.indexOf(".") - 1; 
System.out.println(numberOfDigitAfterDecimalPoint); 
System.out.println((long)(Double.parseDouble(str) * Math.pow(10.0, numberOfDigitAfterDecimalPoint - 1))); 

或做串操作,以檢查是否所有的數字是0.然後做substring()Long.parseLong()

+0

爲什麼兩個downvotes? –

+1

如果我的輸入是「33123456.00」或「33123456.0023」或「0.33123456」 –

+0

讓OP指定他是否想要處理它,請記住這種情況@Mahiz –