Java:要浮动的毫秒时间戳字符串

时间:2011-04-20 16:47:14

标签: java floating-point timestamp milliseconds

我有这个字符串:1303317717.65384 - 这是一个UNIX时间戳(1303317717),毫秒(65384)。

如何在Java中将其转换为浮点数?放弃时我总是得到1.06172723E9,但我只想要它是1303317717.65384。

谢谢!

3 个答案:

答案 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)

浮子的精度不够。改为使用双。