如何在 Java 中打印小数点后两位的浮点数?

新手上路,请多包涵

我可以用 System.out.print 吗?

原文由 via_point 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 561
2 个回答

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

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

简而言之, %.2f 语法告诉 Java 返回你的变量( val ),带有 2 个小数位( .2 十进制数表示形式-- f ) 从格式说明符 ( % ) 开始。

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

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

原文由 Anthony Forloney 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

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

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

原文由 Bozho 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题