%d,%o,%x和%X格式符均可格式化byte、Byte、short、Short、int、Integer、long和Long型数据,其中:
%d将值格式化为十进制整数。
%o将值格式化为八进制整数。
%x将值格式化为小写的十六进制整数。
%X将值格式化为大写的十六进制整数。
例如:
Strings=String.format(%d,%o,%x,%X,300,300,300,300);
那么,字符串s就是300,454,12c,12C。
格式化正整数时,强制添加上正号,例如:%+d将123格式化为+123。
格式化整数时,按“千”分组,例如:
Strings=String.format(按千分组:%,d。按千分组带正号%+,d,12345678,9876);
那么,字符串s就是按千分组:12,345,678。按千分组带正号+9,876 。
所谓数据的宽度就是format方法返回的字符串的长度,规定数据宽度的一般格式为%md,其效果是在数字的左面增加空格;若为%-md,其效果是在数字的右面增加空格。
例如,将数字10格式化为宽度为8的字符串:
Strings=String.format(%8d,10);
那么,字符串s就是 10,其长度(s.length())为8,即s在10左面添加了6个空格字符,对于:
Strings=String.format(%-8d,10);
那么,字符串s就是10 ,其长度(s.length())为8,即s在10右面添加了6个空格字符。
注意:如果实际数字的宽度大于格式中指定的宽度,就按数字的实际宽度进行格式化。
我们也可以在宽度前面增加前缀0,表示用数字0,不用空格来填充宽度左面的富余部分,例如:
Strings=String.format(%08d,12);
那么,字符串s就是00000012,其长度(s.length())为8,即s在12的左面添加了6个数字0。