[我想做的是给用户输入(操作数)并将我的当前数字四舍五入为操作数的小数位数。例如,如果我当前正在其上运行的计算器程序中的数字是15.44876,并且用户输入是2,则我希望返回的值是15.45,或者至少是15.44。
public double round(double operand){
this.answer = Math.round(this.answer, operand);
return this.answer;
我知道上面的代码是错误的,但是它只是一个占位符,因为对此我感到很困惑。
您可以乘以适当的10的幂,四舍五入,然后除以相同的10的幂。这种方法假定数字在一定范围内,这样就不会出现溢出问题。
public double round(double value, double places) {
final double scale = Math.pow(10, places);
return Math.round(value * scale) / scale;
}
如果可能是溢出问题,则还有其他方法。