使用 double 时限制 Java 中的十进制数字

Hyp*_*ion 2 java double

我有几个变量,都是 int,我用它们做这个操作:

percentage = ((double)100) - (((double)100)/(((double)64)*((double)dist.size()-1))*((double)bestDist));
Run Code Online (Sandbox Code Playgroud)

强迫它们加倍,因为我想计算一个百分比。问题是(当然)我得到像 65.88841666666666 这样的结果,我想得到一个只有 2 个十进制数字的数字,我不介意近似它,我也可以削减所有数字,所以我会得到 65.88 而不是65.89。我怎样才能做到这一点?

小智 5

如果这是为了显示结果,您可以使用格式化程序,如:

String formatted = String.format("%.2f", 65.88888);
Run Code Online (Sandbox Code Playgroud)

这里,.2 表示显示小数点后 2 位数字。如需更多选项,请尝试 BigDecimal