java字符串格式化函数,Java字符串format()本⽂概述
Java字符串format()⽅法通过给定的语⾔环境, 格式和参数返回格式化的字符串。
如果未在String.format()⽅法中指定语⾔环境, 则它将通过调⽤Default()⽅法来使⽤默认语⾔环境。
Java语⾔的format()⽅法类似于c语⾔中的sprintf()函数和Java语⾔的printf()⽅法。
内部实施
public static String format(String format, args) {
return new Formatter().format(format, args).toString();
}
签名
字符串format()⽅法有两种类型:
public static String format(String format, args)
and, public static String format(Locale locale, String format, args)
参量
locale:指定要在format()⽅法上应⽤的语⾔环境。
format:字符串的格式。
args:格式字符串的参数。可能为零或更⼤。
退货
格式化字符串
投掷
NullPointerException:如果format为null。
IllegalFormatException:如果格式⾮法或不兼容。
Java String format()⽅法⽰例
public class FormatExample{
public static void main(String args[]){
String name="sonoo";
String sf1=String.format("name is %s", name);
String sf2=String.format("value is %f", 32.33434);
String sf3=String.format("value is %32.12f", 32.33434);//returns 12 char fractional part filling with 0
System.out.println(sf1);
System.out.println(sf2);
System.out.println(sf3);
}}
name is sonoo
value is 32.334340
value is 32.334340000000
Java字符串格式说明符
在这⾥, 我们提供了Java字符串⽀持的格式说明符表。
格式说明符
数据类型
输出量
%a
floating point (except BigDecimal)
返回浮点数的⼗六进制输出。
%b
Any type
如果为⾮null, 则为“ true”;如果为null, 则为“ false”%c
character
Unicode字符
%d
integer (incl. byte, short, int, long, bigint)
Decimal Integer
%e
floating point
科学计数法中的⼗进制数
%f
floating point
decimal number
%g
floating point
⼗进制数, 可能以科学计数法表⽰, 取决于精度和值。
%h
any type
⼗六进制hashCode()⽅法中的值的字符串。
%n
特定于平台的⾏分隔符。
%o
integer (incl. byte, short, int, long, bigint)
⼋进制数
%s
任意种类
String value
%t
⽇期/时间(包括长, ⽇历, ⽇期和TemporalAccessor)
%t是⽇期/时间转换的前缀。之后, 需要更多的格式化标志。请参阅下⾯的⽇期/时间转换。%x
integer (incl. byte, short, int, long, bigint)
⼗六进制字符串。
bigdecimal格式化两位小数Java String format()⽅法⽰例2
此⽅法⽀持各种数据类型并将其格式化为字符串类型。让我们来看⼀个例⼦。
public class FormatExample2 {
public static void main(String[] args) {
String str1 = String.format("%d", 101); // Integer value
String str2 = String.format("%s", "Amar Singh"); // String value
String str3 = String.format("%f", 101.00); // Float value
String str4 = String.format("%x", 101); // Hexadecimal value
String str5 = String.format("%c", 'c'); // Char value
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
System.out.println(str4);
System.out.println(str5);
}
}
⽴即测试
101
Amar Singh
101.000000
c
Java String format()⽅法⽰例3
除了格式化外, 我们还可以设置任何值的宽度, 填充等。让我们看⼀个为整数设置宽度和填充的⽰例。public class FormatExample3 {
public static void main(String[] args) {
String str1 = String.format("%d", 101);
String str2 = String.format("|%10d|", 101); // Specifying length of integer
String str3 = String.format("|%-10d|", 101); // Left-justifying within the specified width String str4 = String.format("|% d|", 101);
String str5 = String.format("|%010d|", 101); // Filling with zeroes
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
System.out.println(str4);
System.out.println(str5);
}
}
⽴即测试
101
| 101|
|101 |
| 101|
|0000000101|
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论