温馨提示×

String.format如何处理数字格式

小樊
81
2024-10-12 10:01:04
栏目: 编程语言

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 官方文档。

0