我有这个字符串:1303317717.65384 - 这是一个UNIX时间戳(1303317717),毫秒(65384)。
如何在Java中将其转换为浮点数?放弃时我总是得到1.06172723E9,但我只想要它是1303317717.65384。
谢谢!
答案 0 :(得分:9)
不可能在float变量中以足够的精度显示它 - 你必须使用double。
演示:
System.out.println(String.format("%f", Float.parseFloat("1303317717.65384")));
System.out.println(String.format("%f", Double.parseDouble("1303317717.65384")));
产量
1303317760.000000
1303317717.653840
答案 1 :(得分:2)
Java中的浮点数只有大约六位数的精度。你需要一双。
如果它是字符串形式,那么您可以使用Double.parseDouble(String s)
。
答案 2 :(得分:0)
浮子的精度不够。改为使用双。