在我的Web应用程序中,我有一个采用浮点输入值的版本字段。但是当它使用1000000.1(或更大)的值时,它显示的版本就像1.0E7一样。我在Float包装器类中尝试了几种方法。但结果仍然相同。
由于
答案 0 :(得分:1)
您的问题不在于解析,而在于格式化您的值。值是正确的,它在java中正确表示。如果您希望将格式用户更改为提供C样式格式的String.format()或java.text.NumberFormat。
答案 1 :(得分:1)
System.out.printf("%f", Float.parseFloat("1.0E7"));
输出10000000.000000
请注意,1.0E7是1000000.0,不是 1000000.1。
答案 2 :(得分:0)
它可能与您的输出格式有关,因为1.0E7 == 10000000
答案 3 :(得分:0)
我认为你要找的是String.format(locale, msg, args)
方法。
答案 4 :(得分:-1)
使用String.valueOf(floatNumber)
建议使用double而不是float