5

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

如何将其转换为 Java 中的浮点数?发出时我总是得到 1.06172723E9,但我只希望它是 1303317717.65384。

谢谢!

4

3 回答 3

10

在浮点变量中以足够的精度显示它是不可能的 - 你必须使用双精度。

演示:

System.out.println(String.format("%f", Float.parseFloat("1303317717.65384")));
System.out.println(String.format("%f", Double.parseDouble("1303317717.65384")));

产量

1303317760.000000
1303317717.653840
于 2011-04-20T16:51:32.610 回答
2

Java 中的浮点数只有大约六位数的精度。你需要一个双。

如果它是字符串的形式,那么您可以使用Double.parseDouble(String s).

于 2011-04-20T16:52:19.167 回答
0

浮点数精度不足。改用双精度。

于 2011-04-20T16:54:11.123 回答