问题

我可以用System.out.print做到吗?


#1 热门回答(182 赞)

你可以使用printf方法,如下所示:

System.out.printf("%.2f", val);

简而言之,%.2fsyntax告诉Java从格式说明符(%)的开头以浮点数(f)的十进制表示形式返回带有2位小数(.2)的变量(val)。

除了f之外,你还可以使用其他转换字符:

  • d:十进制整数
  • o:八进制整数
  • e:科学记数法的浮点数

#2 热门回答(137 赞)

你可以使用DecimalFormat。一种使用方法:

DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(2);
System.out.println(df.format(decimalNumber));

另一个是使用#.##格式构建它。

我发现所有格式化选项的可读性都低于调用格式化方法,但这是一个偏好问题。


#3 热门回答(66 赞)

我建议使用String.format()如果你需要在代码中使用aString的值。

例如,你可以通过以下方式使用String.format()

float myFloat = 2.001f;

String formattedString = String.format("%.02f", myFloat);

原文链接