我正在尝试使用 println 将 double 中的小数位数减少到 8,并将最后一位数字四舍五入
im trying to reduce the number of decimals in a double to 8 using println and rounding the last digit up
我被分配输出一个双:
myD=1.0/3.0; //using println as 0.33333334 = 1/3.
我尝试过使用一些格式设置但没有成功。
//0.33333334 = 1/3; //only using println
double myD = 1.0/3.0
System.out.println("%0.8f", myD);
0.33333334
使用 DecimalFormat
并将舍入模式设置为始终舍入到 CEILING
。
double myD = 1.0/3.0;
DecimalFormat df = new DecimalFormat("#.########");
df.setRoundingMode(RoundingMode.CEILING);
System.out.println(df.format(myD));
输出:
0.33333334
如果您不需要四舍五入,您可以使用 String.format
而不是得到 0.33333
:
System.out.println(String.format("%.8f", myD));
输出:
0.33333333
当然也可以是 System.out.format("%.8f", myD);
,但要求使用 System.out.println
。
我被分配输出一个双:
myD=1.0/3.0; //using println as 0.33333334 = 1/3.
我尝试过使用一些格式设置但没有成功。
//0.33333334 = 1/3; //only using println
double myD = 1.0/3.0
System.out.println("%0.8f", myD);
0.33333334
使用 DecimalFormat
并将舍入模式设置为始终舍入到 CEILING
。
double myD = 1.0/3.0;
DecimalFormat df = new DecimalFormat("#.########");
df.setRoundingMode(RoundingMode.CEILING);
System.out.println(df.format(myD));
输出:
0.33333334
如果您不需要四舍五入,您可以使用 String.format
而不是得到 0.33333
:
System.out.println(String.format("%.8f", myD));
输出:
0.33333333
当然也可以是 System.out.format("%.8f", myD);
,但要求使用 System.out.println
。