我被分配输出一个double:
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
。