首页 > 编程语言 >Java中字符串格式化的井号标志用法

Java中字符串格式化的井号标志用法

时间:2024-06-03 10:35:48浏览次数:24  
标签:标志 格式化 String format 井号 结果 strRes 字符串 Java

Java中字符串格式化是通过String类的format()方法来实现的,该方法有两种定义:

public static String format(String format,

                            Object... args)

public static String format(Locale l,

                            String format,

                            Object... args)

这两种用法,都有“String format”参数,该参数对应如下三种格式:

(1)、常规类型、字符类型和数值类型的格式说明符的语法

%[argument_index$][flags][width][.precision]conversion

(2)、用来表示日期和时间类型的格式说明符的语法

%[argument_index$][flags][width]conversion

(3)、与参数不对应的格式说明符的语法

%[flags][width]conversion

以上三种语法都含“flags”部分,它的意思就是标志。以下介绍这些标志的用法:

下表总结了受支持的标志。y 表示该标志受指示参数类型支持。

标志

常规

字符

整数

浮点

日期/时间

说明

'-'

y

y

y

y

y

结果将是左对齐。

'#'

y1

-

y3

y

-

结果应该使用依赖于转换类型的替换形式。

'+'

-

-

y4

y

-

结果总是包括一个符号。

'  '

-

-

y4

y

-

对于正值,结果中将包括一个前导空格。

'0'

-

-

y

y

-

结果将用零来填充。

','

-

-

y2

y5

-

结果将包括特定于语言环境的组分隔符。

'('

-

-

y4

y5

-

结果将是用圆括号括起来的负数。

 

1 取决于 Formattable 的定义。

2 只适用于 'd' 转换。

3 只适用于 'o'、'x' 和 'X' 转换。

4 对 BigInteger 应用 'd'、'o'、'x' 和 'X' 转换时,或者对 byte 及 Byte、short 及 Short、int 及 Integer、long 及 Long 分别应用 'd' 转换时适用。

5 只适用于 'e'、'E'、'f'、'g' 和 'G' 转换。

任何未显式定义为标志的字符都是非法字符,并且都被保留,以供扩展使用。

这里仅介绍井号标志用法。

 

本例的关键代码如下:

btnNewButton01.addActionListener(new ActionListener() {

       public void actionPerformed(ActionEvent arg0) {

              String strRes;

                           

              //八进制的转换为字母‘o’,而不是数字‘0’;

              //八进制的前缀是数字‘0’,而不是字母‘o’;

              //1、八进制不使用井号标志‘#’,结果前不加‘0’。

              strRes = String.format("%o",9);

              textField01.setText(strRes); //结果为11

                           

              //2、八进制使用井号标志‘#’,结果前加‘0’。

              strRes = String.format("%#o",9);

              textField02.setText(strRes); //结果为011

 

              //3、十六进制不使用井号标志‘#’,结果前不加‘0x’或者‘0X’。

              strRes = String.format("%x",18);

              textField03.setText(strRes); //结果为12

                           

              //4、十六进制使用井号标志‘#’,结果前加‘0x’或者‘0X’。

              strRes = String.format("%#X",18);

              textField04.setText(strRes); //结果为0X12

       }

});

标签:标志,格式化,String,format,井号,结果,strRes,字符串,Java
From: https://www.cnblogs.com/it001xyz/p/18228285

相关文章