问题
我可以用System.out.print
做到吗?
#1 热门回答(182 赞)
你可以使用printf
方法,如下所示:
System.out.printf("%.2f", val);
简而言之,%.2f
syntax告诉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);