double a=816992306.6297043221;
System.out.println("a="+a);
这个问题是这个数字对于double来说太大了,它给出了以下输出:
a=8.169923062970433E7
当我减少数字时,结果会正确显示。 这个问题的有效解决方案是什么?
答案 0 :(得分:2)
答案 1 :(得分:0)
我认为这是一个精确的问题。
https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax
您可以查看此链接以了解格式。
您可以使用DecimalFormat Class
double d1 = 3.14159;
double d2 = 1.235;
DecimalFormat format = new DecimalFormat("#.##");
double roundedD1 = format.format(d1); // 3.14
double roundedD2 = format.format(d2); // 1.24
如果要在运行时设置精度。
format.setMaximumFractionDigits(precision);