如何将数字四舍五入到用户指定的小数位数[重复]

问题描述 投票:0回答:1

[我想做的是给用户输入(操作数)并将我的当前数字四舍五入为操作数的小数位数。例如,如果我当前正在其上运行的计算器程序中的数字是15.44876,并且用户输入是2,则我希望返回的值是15.45,或者至少是15.44。

public double round(double operand){
    this.answer = Math.round(this.answer, operand);
    return this.answer;

我知道上面的代码是错误的,但是它只是一个占位符,因为对此我感到很困惑。

java math
1个回答
0
投票

您可以乘以适当的10的幂,四舍五入,然后除以相同的10的幂。这种方法假定数字在一定范围内,这样就不会出现溢出问题。

public double round(double value, double places) {
    final double scale = Math.pow(10, places);
    return Math.round(value * scale) / scale;
}

如果可能是溢出问题,则还有其他方法。

© www.soinside.com 2019 - 2024. All rights reserved.