Kil*_*ler 2 java android rounding-error rounding
这是我的计划.非常简单地说,它应该将输入的数字舍入到给定的小数位数.即4.245舍入到2位小数将给出4.25.但是,我总是只将它四舍五入为整数...为什么?让我感到困惑的是,我在android中使用相同的代码并且它完美无缺
import java.util.Scanner;
public class Rounder {
public static void main(String[] args) {
double input1, roundednumber;
int input2;
Scanner keyboard = new Scanner(System.in);
System.out.println("number to round ");
input1 = keyboard.nextDouble();
System.out.println("decimals");
input2 = keyboard.nextInt();
roundednumber = rounder(input1, input2);
System.out.println(roundednumber);
}
public static double rounder(double number, int decimals){
int multiplier = (int) Math.pow(10, decimals);
double roundednumber;
roundednumber = Math.round(number*multiplier)/multiplier;
return roundednumber;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的android类的片段
double result1 = fv1/(Math.pow(1+(r1/n1),n1*t1));
result1 = (double) (Math.round(result1 * 100)) / 100;
Run Code Online (Sandbox Code Playgroud)
除以整数会产生一个整数,因此您可以使用:
Math.round(number * multiplier) / (double)multiplier;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6162 次 |
| 最近记录: |