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