String.format()的使用

参考文章:

https://www.cnblogs.com/Dhouse/p/7776780.html

其中System.out.printf()的用法可参考:https://blog.csdn.net/quhongjuan12/article/details/7978110

转  换  符

说    明 

示    例

%s

字符串类型

"mingrisoft"

%c

字符类型

'm'

%b

布尔类型

true

%d

整数类型(十进制)

99

%x

整数类型(十六进制)

FF

%o

整数类型(八进制)

77

%f

浮点类型

99.99

%a

十六进制浮点类型

FF.35AE

%e

指数类型

9.38e+5

%g

通用浮点类型(f和e类型中较短的)

 

%h

散列码

 

%%

百分比类型

%n

换行符

 

%tx

日期与时间类型(x代表不同的日期与时间转换符

1 public static void main(String[] args) {
2         String s1 = "我叫%s,我今年%s岁";
3         System.out.println(String.format(s1, "zhangsan", "10"));
4 
5         System.out.printf("3>7的结果是:%b %n", 3>7);
6         System.out.printf("100的一半是:%d %n", 100/2);
7         System.out.printf("50元的书打8.5折扣是:%f 元%n", 50*0.85);
8         System.out.printf("上面的折扣是%d%% %n", 85);
9     }

输出结果:

我叫zhangsan,我今年10岁
3>7的结果是:false 
100的一半是:50 
50元的书打8.5折扣是:42.500000 元
上面的折扣是85% 

 

搭配转换符的标志

如图所示:

标    志

说    明

示    例

结    果

+

为正数或者负数添加符号

("%+d",15)

+15

左对齐

("%-5d",15)

|15   |

0

数字前面补0

("%04d", 99)

0099

空格

在整数之前添加指定数量的空格

("% 4d", 99)

|  99|

,

以“,”对数字分组

("%,f", 9999.99)

9,999.990000

(

使用括号包含负数

("%(f", -99.99)

(99.990000)

#

如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0

("%#x", 99)

("%#o", 99)

0x63

0143

格式化前一个转换符所描述的参数

("%f和%<3.2f", 99.45)

99.450000和99.45

$

被格式化的参数索引

("%1$d,%2$s", 99,"abc")

99,abc

 

public static void main(String[] args) {
        //+使用
        System.out.printf("显示正负数的符号:%+d与%d%n", 99,-99);
        //补O使用
        System.out.printf("最牛的编号是:%03d%n", 7);
        //空格使用
        System.out.printf("Tab键的效果是:% 8d%n", 7);
        //,使用
        System.out.printf("整数分组的效果是:%,d%n", 9989997);
        //空格和小数点后面个数  
        System.out.printf("一本书的价格是:% 50.5f元%n", 49.8);
    }

输出结果:

显示正负数的符号:+99与-99
最牛的编号是:007
Tab键的效果是:       7
整数分组的效果是:9,989,997
一本书的价格是:                                          49.80000元

 

 

 

 

----

posted on 2018-12-21 16:43  有点懒惰的大青年  阅读(157)  评论(0编辑  收藏  举报