我需要将值为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. 将具有各种浮点数的字符串转换为浮点数。