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。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程