我有一些输出,我希望通过将所有内容调整为一个表来使其看起来更好一些。
Probability: 0.7470986802363135 | Approximation: 0.7500081297253628 | Difference: 0.002909449489049254
Probability: 0.71639599474715 | Approximation: 0.7198106243620636 | Difference: 0.003414629614913567
这不是真的有必要,但我只是好奇是否有一种优雅的方式来实现这一目标?我以为我可以舍入小数,这样每个都有相同的长度,但如果可能的话,我宁愿不这样做。
这是输出代码:
for (int j = 0; j < 16; j++){
double diff = approxResults[j] - probResults[j];
System.out.println("Probability: " + probResults[j] + " | Approximation: " + approxResults[j] + " | Difference: " + diff);
}
答案 0 :(得分:1)
只需定义每个值所需的小数位数,并且所有值都将对齐:
String.format("%.5f",42.42123456789);
将为您提供小数点后42位的格式化值42.42123
在您的情况下,您将使用变量'diff'
替换确切的数字42.xxx答案 1 :(得分:1)
你可以做到
System.out.println("Probability: %9.6f | Approximation: %9.6f | Difference: %8.5f%n,
probResults[j], approxResults[j] , diff);
答案 2 :(得分:1)
double r = Math.round(a * 1000) / 1000.0;
如果你想在你的程序中使用之后的值,你可以使用Math.round函数,它会给你四舍五入到特定小数的值(这里它会达到3位数,因为我使用了1000)。