String.format()的用法

普通转换符

转换符详细说明
%s返回字符串类型
%c返回字符类型
%b返回布尔类型
%d返回整数类型(十进制)
%x返回整数类型(十六进制)
%o返回整数类型(八进制)
%f返回浮点类型
%a返回十六进制浮点类型
%e返回指数类型
%g返回通用浮点类型(f和e类型中较短的)
%h返回散列码
%%返回百分比类型 %(%特殊字符%%才能显示%)
%n返回换行符
%tx返回指定日期格式字符串

例:

String str;
//%s
str = String.format("Hello,%s", "world");
System.out.println(str);
//%c
str = String.format("Hello,%c%c%c%c%c", 'w', 'o', 'r', 'l', 'd');
System.out.println(str);
//%b
str = String.format("1<2:%b %n", 1 < 2);
System.out.print(str);
//%d
str = String.format("100的一半是:%d %n", 100 / 2);
System.out.print(str);
//%x
str = String.format("100的16进制数是:%x %n", 100);
System.out.print(str);
//%o
str = String.format("100的8进制数是:%o %n", 100);
System.out.print(str);
//%f
str = String.format("100元的耳机打2.5折扣的浮点数是:%f 元%n", 100 * 0.25);
System.out.print(str);
//%a
str = String.format("100元的耳机打2.5折扣的16进制数是:%a %n", 100 * 0.25);
System.out.print(str);
//%e
str = String.format("100 * 0.25的指数表示:%e %n", 100 * 0.25);
System.out.print(str);
//%g
str = String.format("100 * 0.25的指数和浮点数结果的长度较短的是:%g %n", 100 * 0.25);
System.out.print(str);
//%h
str = String.format("字母A的散列码是:%h %n", 'A');
System.out.print(str);
//%%
str = String.format("25添加一个百分号%d%% %n", 25);
System.out.print(str);

日期转换符(和%t配合使用)

转换符详细说明
c包括全部日期和时间信息
F“年-月-日”格式
D“月/日/年”格式
r“HH:MM:SS PM”格式(12时制)
T“HH:MM:SS”格式(24时制)
R“HH:MM”格式(24时制)
String str;
Date date = new Date();
//c
str = String.format("全部日期和时间信息:%tc%n", date);
System.out.println(str);
//f
str = String.format("年-月-日格式:%tF%n", date);
System.out.println(str);
//d
str = String.format("月/日/年格式:%tD%n", date);
System.out.println(str);
//r
str = String.format("HH:MM:SS PM格式(12时制):%tr%n", date);
System.out.println(str);
//t
str = String.format("HH:MM:SS格式(24时制):%tT%n", date);
System.out.println(str);
//R
str = String.format("HH:MM格式(24时制):%tR", date);
System.out.println(str);

标志(和搭配转换符配合使用)

转换符详细说明
+为正数或者负数添加符号
0数字前面补0
空格在整数之前添加指定数量的空格
,以“,”对数字分组
(对负数使用括号
#如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0
<格式化前一个转换符所描述的参数
$被格式化的参数索引
String str;
//+
str = String.format("显示正负数的符号:%+d与%d%n", 100, -100);
System.out.print(str);
//0
str = String.format("1前面加0变成4位:%04d%n", 1);
System.out.print(str);
//空格
str = String.format("1前面加空格变成3位:% 3d%n", 1);
System.out.print(str);
//,
str = String.format("9989997加,:%,d %n", 9989997);
System.out.print(str);
//(
str = String.format("给-100加括号:%(d %n", -100);
System.out.print(str);
//#
str = String.format("浮点数则包含小数点:%#2.2f %n", 99.9);
System.out.print(str);
//#
str = String.format("8进制则添加0:%#o %n", 100);
System.out.print(str);
//#
str = String.format("16进制则添加0x:%#x %n", 100);
System.out.print(str);
//<
str = String.format("<的效果是:%2.1f和%<2.3f %n", 99.9);
System.out.print(str);
//$
str = String.format("格式参数$的使用:%d,%2$s", 99, "abc");
System.out.print(str);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值