我遇到問題:如果數字在小數點前有8個或更多數字,則會以科學計數法顯示數字。
有沒有一種簡單的方法可以通過庫或其他方式將此數字轉換爲小數?
我開始創建一個手動方法來解析它,但它似乎過於複雜。將數字從科學計數法轉換爲JAVA中的十進制數
任何幫助將不勝感激。
input example: 1.0225556677556E7
編輯:我也需要能夠識別一個數字,是在科學記數法
我遇到問題:如果數字在小數點前有8個或更多數字,則會以科學計數法顯示數字。
有沒有一種簡單的方法可以通過庫或其他方式將此數字轉換爲小數?
我開始創建一個手動方法來解析它,但它似乎過於複雜。將數字從科學計數法轉換爲JAVA中的十進制數
任何幫助將不勝感激。
input example: 1.0225556677556E7
編輯:我也需要能夠識別一個數字,是在科學記數法
您可以輕鬆地使用你的NumberFormat實現你的目標。
String scientificNotation = "1.0225556677556E7";
Double scientificDouble = Double.parseDouble(scientificNotation);
NumberFormat nf = new DecimalFormat("################################################.###########################################");
decimalString = nf.format(scientificDouble);
要回答您關於匹配科學記數法字符串的其他問題,您可以使用正則表達式和String.matches()。這一個是不完美的,雖然得到誤報的概率應該很低:
if(myString.matches("-?[\\d.]+(?:E-?\\d+)?")){
//do work
}
[科學記數法格式雙重價值(的
謝謝@jeremy這正是我正在尋找 – peggyLeggy
@jeremy抱歉沒有足夠的代表upvote你,但你應得的!謝謝你的回覆 – peggyLeggy
@peggyLeggy樂於幫忙,歡迎大家堆棧溢出:) – GregH
可能重複http://stackoverflow.com/questions/2944822/format-雙值科學記數法) – JAL
@JAL:恰恰相反。 –
@ T.J.Crowder是的,但其中的答案提供了相關鏈接以幫助提問者的文檔。 – JAL