我要解析一个字符串来像这样解析:
Float.parseFloat(value_.toString());
当我解析字符串数字时:“13299802.60”, 我明白了:1.3299803E7
我想得到没有指数符号的字符串浮点数。
如何做到这一点?
感谢提前。
答案 0 :(得分:2)
float的默认输出格式是超过一定大小的科学记数法。
如果要以正常的十进制表示法输出,请在打印时使用格式字符串为“#.00”的NumberFormat。
答案 1 :(得分:1)
改为使用
new java.lang.BigDecimal(value_.toString());
BigDecimal实际上是十进制数而不是浮点数。 2(2位小数位)的比例将保持
答案 2 :(得分:1)
float是32位,最多7位或精度。如果你想要更高的精确度,使用64位的双精度并且精度高达16位(实际上,总是使用double或BigDecimal)
String text = "13299802.60";
System.out.printf("As float %.2f%n", Float.parseFloat(text));
System.out.printf("As double %.2f%n", Double.parseDouble(text));
System.out.println("As BigDecimal "+ new BigDecimal(text));
打印
As float 13299803.00
As double 13299802.60
As BigDecimal 13299802.60