Java教程

Java String format()

java String format()方法按给定的语言环境,格式和参数返回格式化的字符串。
如果未在String.format()方法中指定语言环境,则它将通过调用 Locale.getDefault()方法使用默认语言环境。
format() Java语言的方法类似于c语言中的 sprintf()函数和Java语言的 printf()方法。

内部实现

public static String format(String format, Object... args) {
    return new Formatter().format(format, args).toString();
}

签名

有两种类型的字符串format()方法:
public static String format(String format, Object... args)
public static String format
(Locale locale, String format, Object... args)

参数

locale: 指定要应用于format()方法的语言环境。
format : 字符串的格式。
args : 格式字符串的参数。可能为零或更多。

返回

格式化的字符串

抛出

NullPointerException : 如果format为null。
IllegalFormatException : 如果格式非法或不兼容。

Java字符串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);
        System.out.println(sf1);
        System.out.println(sf2);
        System.out.println(sf3);
    }
}
name is sonoovalue is 32.334340value is 32.334340000000

Java字符串格式说明符

在这里,我们提供了Java字符串支持的格式说明符表。
格式说明符 数据类型 输出
%a 浮点( BigDecimal 除外) 返回浮点数的十六进制输出。
%b 任何类型 如果不是null,则为" true",如果为null,则为" false"
%c 字符 Unicode字符
%d 整数(包括字节,short,int,long,bigint) 十进制整数
%e 浮点 科学计数形式的十进制数
%f 浮点 十进制数
%g 浮点 十进制数,可能以科学计数法表示,具体取决于精度和值。
%h 任何类型 Hex哈希值(来自hashCode()方法)。
%n 特定于平台的行分隔符。
%o 整数(包括字节,short,int,long,bigint) 总号码
%s 任何类型 字符串值
%t 日期/时间(包括长,日历,日期和TemporalAccessor) %t是日期/时间转换的前缀。此后,需要更多的格式化标志。请参见下面的日期/时间转换。
%x 整数(包括字节,short,int,long,bigint)
十六进制字符串。

Java字符串format()方法示例2

此方法支持各种数据类型并将其格式化为字符串类型。让我们来看一个例子。
public class FormatExample2 {
    public static void main(String[] args) {
        String str1 = String.format("%d", 101);
        String str2 = String.format("%s", "Amar Singh");
        String str3 = String.format("%f", 101.00);
        String str4 = String.format("%x", 101);
        String str5 = String.format("%c", 'c');
        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
65
c

Java字符串format()方法示例3

除格式化外,我们还可以设置任何值的宽度,填充等。让我们看一个示例,其中我们为整数值设置宽度和填充。
public class FormatExample3 {
    public static void main(String[] args) {
        String str1 = String.format("%d", 101);
        String str2 = String.format("|%10d|", 101);
        String str3 = String.format("|%-10d|", 101);
        String str4 = String.format("|% d|", 101);
        String str5 = String.format("|%010d|", 101);
        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|
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4