String.format如何处理数字格式

avatar
作者
猴君
阅读量:0

String.format() 是 Java 中的一个非常有用的方法,它允许你按照指定的格式字符串来格式化数字。你可以指定数字的格式,例如小数点后的位数、千位分隔符等。以下是一些常见的数字格式示例:

  1. 无小数点%d
int number = 1234; String formattedNumber = String.format("%d", number); System.out.println(formattedNumber);  // 输出 "1234" 
  1. 带小数点%f%F(区分大小写)
double number = 1234.5678; String formattedNumber1 = String.format("%f", number); String formattedNumber2 = String.format("%F", number); System.out.println(formattedNumber1);  // 输出 "1234.567800" System.out.println(formattedNumber2);  // 输出 "1234.567800"(注意大小写) 
  1. 指定小数点后位数%f%F,后跟 .# 和要显示的小数位数
double number = 1234.5678; String formattedNumber = String.format("%.2f", number); System.out.println(formattedNumber);  // 输出 "1234.57" 
  1. 千位分隔符%,.0f%,#.0f%,.0d%,#.0d
int number = 1234567; String formattedNumber1 = String.format("%,.0f", number); String formattedNumber2 = String.format("%,#.0f", number); String formattedNumber3 = String.format("%,.0d", number); String formattedNumber4 = String.format("%,#.0d", number); System.out.println(formattedNumber1);  // 输出 "1,234,567.00" System.out.println(formattedNumber2);  // 输出 "1,234,567"(小数部分被省略) System.out.println(formattedNumber3);  // 输出 "1,234,567" System.out.println(formattedNumber4);  // 输出 "1,234,567"(小数部分被省略) 

注意:%,.0f%,.0d 会自动添加千位分隔符,而 %,#.0f%,#.0d 会在小数部分为0时省略它。

这只是 String.format() 处理数字格式的一些基本示例。你可以根据需要组合这些格式说明符来创建更复杂的格式。更多关于 String.format() 的信息,可以查阅 Java 官方文档。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!