我需要將值爲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. C#字符串到浮點型轉換
- 2. 將字符串轉換爲浮點數?
- 3. 將字符串轉換爲浮點數
- 4. 將字符串轉換爲浮點數
- 5. 從字符串轉換爲浮點數
- 6. 字符數組到浮點數轉換
- 7. MBED RTOS將浮點數轉換爲字符串/字符數組
- 8. C字符串浮點轉換
- 9. VBS將字符串轉換爲浮點
- 10. PHP轉換語義版本字符串到整數/浮點
- 11. 藥劑 - 轉換浮點數到字符串
- 12. 麻煩轉換字符串從命令行到浮點數組
- 13. 轉換浮點數到一個格式化字符串
- 14. 將指數數字字符串轉換爲浮點數
- 15. 字符串浮動轉換?
- 16. Python - 將字符串 - 數字轉換爲浮點數
- 17. 用逗號將數字字符串轉換爲浮點數
- 18. 字符串到浮點轉換,支持小數點和小數點逗號
- 19. 將浮點數轉換爲逗號和點的字符串
- 20. 如何將浮點字符串轉換爲數字?
- 21. 將字符串數組轉換爲浮點數組
- 22. ValueError:無法將字符串轉換爲浮點數:Numpy數組
- 23. Python 2.7將2d字符串數組轉換爲浮點數組
- 24. cython - 將字符串轉換爲整數和浮點數
- 25. numpy將數組從浮點數轉換爲字符串
- 26. 將字符串轉換爲javascript中的整數或浮點數
- 27. 將混合分數字符串轉換爲浮點數PHP
- 28. 字符串到整數/浮點數
- 29. ValueError:無法將字符串轉換爲浮點數:(大字符串)
- 30. 轉換浮到字符串切割零點小數AFER點在Python