我需要将值为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