Java 中四舍五入到两位小数
许多开发人员在尝试在 Java 中将浮点数四舍五入到特定小数位时遇到挑战。当所需的输出必须保持双精度时尤其如此。
一种常见的方法涉及利用 Math.round(),如以下代码所示:
class Round { public static void main(String[] args) { double a = 123.13698; double roundOff = Math.round(a * 100) / 100; System.out.println(roundOff); } }
但是,这种方法常常无法产生预期的结果。它不是四舍五入到 123.14,而是输出 123。
要纠正此问题,需要对第 4 行稍作修改:
double roundOff = Math.round(a * 100.0) / 100.0;
通过将 .0 添加到乘法因子,结果转换为具有两位小数的双精度型。这确保了最终结果也有两位小数。
或者,按照@Rufein的建议,可以将舍入值转换为双精度:
double roundOff = (double) Math.round(a * 100) / 100;
这种方法也可以有效地产生所需的输出 123.14 具有两位小数。
以上是如何在 Java 中正确地将双精度数舍入到小数点后两位?的详细内容。更多信息请关注PHP中文网其他相关文章!