我有这个字符串:1303317717.65384 - 它是一个带有毫秒数(65384)的UNIX时间戳(1303317717)。
如何在Java中将其转换为浮点数?当我输出它时,它总是显示1.06172723E9,但我只想让它显示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。
如果它是以字符串的形式出现的,那么您可以使用Double.parseDouble(String s)
。