我需要將值爲12.10的字符串轉換爲浮點值而不會丟失零。我怎樣才能在Java中實現這一點。字符串到浮點數轉換
1
A
回答
1
a)將尾隨零存儲在浮點數是沒有意義的。
B)12.1將不能準確地映射到浮點值(儘管這可能不會立即顯現)
2
,如果你不擔心內存中,然後
String str = "12.00";
BigDecimal bd= new BigDecimal(str);
System.out.println(bd);//12.00
0
使用java.text.DecimalFormat
:
DecimalFormat fmt = new DecimalFormat("0.00");
double floatval = fmt.parse("12.10").doubleValue();
String sval = fmt.format(floatval);
1
從布洛赫,J.,有效的Java,第2版,第48項:
的
float
和double
類型 特別不適合用於貨幣 計算,因爲它是不可能 代表0.1(或10中的任何其他 負電源),爲float
或double
準確。例如,假設您有$ 1.03 並且您花費42c。 你剩下多少錢?
System.out.println(1.03 - .42);
打印出
0.6100000000000001
。解決這個問題的正確方法是 使用
BigDecimal
,int
或long
貨幣計算。
實施例:
BigDecimal price = new BigDecimal("12.10");
相關問題
- 1. 基本字符串到浮點轉換
- 2. C#字符串到浮點型轉換
- 3. 將字符串轉換爲浮點數
- 4. 將字符串轉換爲浮點數
- 5. 將字符串轉換爲浮點數?
- 6. 將字符串轉換爲浮點數
- 7. 將字符串轉換爲浮點數
- 8. 從字符串轉換爲浮點數
- 9. 字符數組到浮點數轉換
- 10. MBED RTOS將浮點數轉換爲字符串/字符數組
- 11. 轉換字符串到浮點數數的Android
- 12. 將字符串轉換爲浮點Java
- 13. C字符串浮點轉換
- 14. VBS將字符串轉換爲浮點
- 15. 轉換貨幣字符串轉換成浮點數的問題
- 16. C將字符串/字符輸入轉換爲浮點數
- 17. 麻煩轉換字符串從命令行到浮點數組
- 18. 藥劑 - 轉換浮點數到字符串
- 19. 轉換浮點數到一個格式化字符串
- 20. 轉換浮點數到字符串可以用Python
- 21. PHP轉換語義版本字符串到整數/浮點
- 22. 浮點數到字符串轉換中的錯誤
- 23. 將指數數字字符串轉換爲浮點數
- 24. 字符串浮動轉換?
- 25. Python - 將字符串 - 數字轉換爲浮點數
- 26. 用逗號將數字字符串轉換爲浮點數
- 27. 字符串到浮點轉換,支持小數點和小數點逗號
- 28. 浮到字符串轉換在C++
- 29. 將浮點數轉換爲逗號和點的字符串
- 30. 將具有各種浮點數的字符串轉換爲浮點數。