%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"。
格式化正整数时,强制添加上正号,例如:%+d将123格式化为"+123"。
格式化整数时,按“千”分组,例如:
String s = String.format("按千分组:%,d。按千分组带正号%+,d",12345678,9876);
那么,字符串s就是"按千分组:12,345,678。按千分组带正号+9,876 "。
所谓数据的宽度就是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。
本文固定URL:https://www.dotcpp.com/course/854