我的代码中有一些双打,需要输出不超过两位小数,而忽略尾随零。例如:
2.0334=2.03
10.20=10.2
24.0032=24
我还有其他双打,我必须输出不同的格式,包括尾随零和不同的精度。可以在同一System.out.format()行中输出多种格式。据我所知,DecimalFormat(不可否认,并不多),我不能在同一行输出两个不同格式的小数。我正在尝试使用System.out.format(),但我无法使它忽略尾随零。这是可能的,还是我只坚持使用DecimalFormat?谢谢!
答案 0 :(得分:2)
您可以使用DecimalFormat
的不同实例按照您的意愿格式化各种数字,然后将其打印出来。
double num1 = 2.0334;
double num2 = 10.2;
double num3 = 24.0032;
DecimalFormat df1 = new DecimalFormat("#.##");
DecimalFormat df2 = new DecimalFormat("#.#");
DecimalFormat df3 = new DecimalFormat("#");
System.out.print(String.format("%s %s %s", df1.format(num1), df2.format(num2),
df3.format(num3));
或使用printf()
,
System.out.printf("%.2f %.1f, %.0f", num1, num2, num3);