回答
如果其他的答案還不夠明確
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. 正則表達式在字符串中查找字符串
- 3. 正則表達式查找字符串中的字符串
- 4. C#正則表達式查找字符串的字符串
- 5. 正則表達式查找ASCII字符
- 6. 正則表達式查找字符
- 7. 正則表達式查找字符串後跟字符
- 8. 正則表達式查找字符串中的字符串中的字符串
- 9. 正則表達式在字符串上查找字母數字
- 10. jQuery正則表達式按子串查找字符串
- 11. 查詢字符串中查找標籤與正則表達式
- 12. AWK正則表達式查找字符串與模式
- 13. 以編程方式查找字符串到正則表達式?
- 14. Javascript正則表達式,查找字符串中的數字
- 15. Java正則表達式在字符串中查找數字
- 16. 正則表達式查找字符串中間的數字
- 17. 正則表達式查找特定字符串後的數字
- 18. 關於查找數字字符串的Java正則表達式
- 19. 正則表達式 - 在字符串中查找大寫字
- 20. 查找字符串java正則表達式中的字段
- 21. 正則表達式:查找字符串和數字
- 22. 正則表達式問題 - 查找字符串中的數字
- 23. 正則表達式的正則表達式的Java字符串
- 24. 正則表達式正則表達式匹配字符串
- 25. 正則表達式(正則表達式)的子字符串
- 26. Javascript正則表達式 - 正則表達式拆分字符串
- 27. 在字符串中查找通配符子字符串的正則表達式
- 28. 正則表達式使用正則表達式來找到子字符串
- 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