1.%d,%o,%x和%X

%d,%o,%x和%X格式符均可格式化byte、Byte、short、Short、int、Integer、long和Long型数据,其中:

%d将值格式化为十进制整数。

%o将值格式化为八进制整数。

%x将值格式化为小写的十六进制整数。

%X将值格式化为大写的十六进制整数。

例如:

String s = String.format("%d,%o,%x,%X",300,300,300,300);

那么,字符串s就是"300,454,12c,12C"。

2.修饰符

1)加号修饰符“+”

格式化正整数时,强制添加上正号,例如:%+d将123格式化为"+123"。

2)逗号修饰符“,”

格式化整数时,按“千”分组,例如:

String s = String.format("按千分组:%,d。按千分组带正号%+,d",12345678,9876);

那么,字符串s就是"按千分组:12,345,678。按千分组带正号+9,876 "。

3.数据的宽度

所谓数据的宽度就是format方法返回的字符串的长度,规定数据宽度的一般格式为"%md",其效果是在数字的左面增加空格;若为"%-md",其效果是在数字的右面增加空格。

例如,将数字10格式化为宽度为8的字符串:

String s = String.format("%8d",10);

那么,字符串s就是"      10",其长度(s.length())为8,即s在10左面添加了6个空格字符,对于:

String s = String.format("%-8d",10);

那么,字符串s就是"10      ",其长度(s.length())为8,即s在10右面添加了6个空格字符。

注意:如果实际数字的宽度大于格式中指定的宽度,就按数字的实际宽度进行格式化。

我们也可以在宽度前面增加前缀0,表示用数字0,不用空格来填充宽度左面的富余部分,例如:

String s = String.format("%08d",12);

那么,字符串s就是"00000012",其长度(s.length())为8,即s在12的左面添加了6个数字0。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)