回答
如果其他的答案還不夠明確
String text = "00003600";
BigDecimal value = new BigDecimal(text).scaleByPowerOfTen(-2);
System.out.println(value);
打印
36.00
OR
String text = "00003600";
double value = Double.parseDouble(text)/100;
System.out.printf("%.2f%n", value);
打印
36.00
*正確的方法*是調用'scaleByPowerOfTen(-2)' - 替換'setScale(2)'和'divide' - 並且瑣碎的複雜性。這正是我在我的評論中實際想到的。它只是修改'scale'屬性,根本不需要重新計算。 – 2012-07-10 12:46:15
@MarkoTopolnik謝謝你的建議。 – 2012-07-10 13:28:10
只是解析字符串,然後除以100.或使用BigDecimal和縮放。
看起來像@MarkoTapolnik打我到BigDecimal的答案:) – 2012-07-10 12:19:46
最正確的方式(恕我直言):
String input = "00013650";
BigDecimal value = BigDecimal.valueOf(Long.parseLong(input), 2);
String output = value.toPlainString();
System.out.println(output);
輸出:
136.5
當BigDecimals被設計爲接受字符串輸入時,爲什麼你會通過它? – 2012-07-10 12:38:38
只要這樣我就可以通過相同的方法調用:) – 2012-07-10 12:44:03
Id避免這樣做,使用'new BigDecimal(input).setScale(2)'會好很多。 – 2012-07-10 12:45:32
- 1. 正則表達式在字符串中查找字符串
- 2. 正則表達式查找ASCII字符
- 3. 正則表達式查找字符串後跟字符
- 4. 正則表達式查找字符串中的字符串中的字符串
- 5. 正則表達式在字符串上查找字母數字
- 6. jQuery正則表達式按子串查找字符串
- 7. 查詢字符串中查找標籤與正則表達式
- 8. 以編程方式查找字符串到正則表達式?
- 9. 正則表達式查找特定字符串後的數字
- 10. 正則表達式:查找字符串和數字
- 11. 正則表達式 - 在字符串中查找大寫字
- 12. 正則表達式問題 - 查找字符串中的數字
- 13. 關於查找數字字符串的Java正則表達式
- 14. 正則表達式正則表達式匹配字符串
- 15. 正則表達式的正則表達式的Java字符串
- 16. 在字符串中查找通配符子字符串的正則表達式
- 17. 正則表達式使用正則表達式來找到子字符串
- 18. 如何查找字符串包含正則表達式的特殊字符與正則表達式
- 19. jQuery的正則表達式替換字符串查找功能
- 20. 如何查找字符串中的所有正則表達式?
- 21. 用於查找未終止字符串的正則表達式
- 22. 正則表達式:查找字符串不與X
- 23. 正則表達式來查找字符串整數和小數
- 24. 正則表達式查找YouTube鏈接字符串
- 25. 在python中使用正則表達式來查找字符串
- 26. 正則表達式查找的子集輸入字符串
- 27. Java查找字符串正則表達式
- 28. 正則表達式/ Python的查找和字符串
- 29. 在一個字符串中查找多個正則表達式
- 30. 字符串查找每個正則表達式匹配
不要使用正則表達式。這對於BigDecimal來說是一個完美的例子。讀爲int,然後修改'scale'。 – 2012-07-10 12:17:05
請注意,前導零使數字解釋爲八進制數字。所以'010'實際上是'8'。 – 2012-07-10 12:23:36
'010'被認爲是八進制的,只有部分源代碼 – 2012-07-10 12:27:46