对于重力程序,java 中无法将小数点四舍五入到小数点后 4 位
Can't round decimals to 4 decimal points in java for gravity program
所以,我试图在 table 我创建的重力程序中获取小数位数,该程序在 4 位小数后四舍五入。但是,每当我尝试对其进行四舍五入时,它要么打印 table 而不进行四舍五入,要么开始打印 table,然后向我抛出错误。
我确定我做错了什么,我试图在网上寻求帮助,但没有帮助。
我在下面注释了几行,以显示我尝试四舍五入到小数点后 4 位但没有奏效的地方。
我将 post 我的代码放在下面,看看你们是否可以帮我弄清楚我做错了什么。
public class Gravity
{
public static void main(String[] args)
{
Gravity g = new Gravity();
System.out.printf("%5s%20s%20s\n", "Time", "Distance Earth", "Distance Moon");
// Gravity.format()
// DecimalFormat df = new DecimalFormat("###.####");
// System.out.println(df.format(g));
for (int i = 1; i <= 10; i++)
{
System.out.printf("%5d%20fm%20fm\n", + i,g.distanceFallen(i, 9.8), g.distanceFallen(i, 1.625));
// System.out.format("%.4f", i);
}
}
/* private static Gravity format(String string, int i)
{
//
return i;
}*/
public double distanceFallen (double time, double gAcc)
{
// System.out.format("%.4f");
// System.out.format("%.4f", time);
return (0.5)*gAcc*Math.pow(time, 4);
}
}
编辑:此外,这里是 table 的样子,只是为了消除任何潜在的混淆。
Time Distance Earth Distance Moon
1 4.900000m 0.812500m
2 78.400000m 13.000000m
3 396.900000m 65.812500m
4 1254.400000m 208.000000m
5 3062.500000m 507.812500m
6 6350.400000m 1053.000000m
7 11764.900000m 1950.812500m
8 20070.400000m 3328.000000m
9 32148.900000m 5330.812500m
10 49000.000000m 8125.000000m
将您的格式更改为:
"%5d%20.4fm%20.4fm\n"
您也需要将 header 格式从 20 改为 24。
所以,我试图在 table 我创建的重力程序中获取小数位数,该程序在 4 位小数后四舍五入。但是,每当我尝试对其进行四舍五入时,它要么打印 table 而不进行四舍五入,要么开始打印 table,然后向我抛出错误。 我确定我做错了什么,我试图在网上寻求帮助,但没有帮助。 我在下面注释了几行,以显示我尝试四舍五入到小数点后 4 位但没有奏效的地方。 我将 post 我的代码放在下面,看看你们是否可以帮我弄清楚我做错了什么。
public class Gravity
{
public static void main(String[] args)
{
Gravity g = new Gravity();
System.out.printf("%5s%20s%20s\n", "Time", "Distance Earth", "Distance Moon");
// Gravity.format()
// DecimalFormat df = new DecimalFormat("###.####");
// System.out.println(df.format(g));
for (int i = 1; i <= 10; i++)
{
System.out.printf("%5d%20fm%20fm\n", + i,g.distanceFallen(i, 9.8), g.distanceFallen(i, 1.625));
// System.out.format("%.4f", i);
}
}
/* private static Gravity format(String string, int i)
{
//
return i;
}*/
public double distanceFallen (double time, double gAcc)
{
// System.out.format("%.4f");
// System.out.format("%.4f", time);
return (0.5)*gAcc*Math.pow(time, 4);
}
}
编辑:此外,这里是 table 的样子,只是为了消除任何潜在的混淆。
Time Distance Earth Distance Moon
1 4.900000m 0.812500m
2 78.400000m 13.000000m
3 396.900000m 65.812500m
4 1254.400000m 208.000000m
5 3062.500000m 507.812500m
6 6350.400000m 1053.000000m
7 11764.900000m 1950.812500m
8 20070.400000m 3328.000000m
9 32148.900000m 5330.812500m
10 49000.000000m 8125.000000m
将您的格式更改为:
"%5d%20.4fm%20.4fm\n"
您也需要将 header 格式从 20 改为 24。