常规类型格式化
- 关键词
- 相关说明
- 常规字符串图表:
- 源码
- 运行结果
关键词
String s=String.format("%b",SSS);
相关说明
其中SSS可以放等式或不等式,它们的结果会被格式化为指定的类型,这里%b就是格式化为布尔类型,输出true或false。用法还是format的用法一样,不过不用创建Date类(时间一类)。对于format的方法虽然都一样,只是格式化成的类型不同,我尽量把每一类都体验一次。
常规字符串图表:
转换符 | 说明 | 示例 |
%b、%B | 结果被格式化为布尔类型 | true、FALSE |
%h、%H | 结果被格式化成散列码 | 1E |
%s、%S | 结果被格式化为字符串类型 | “aoe” |
%c、%C | 结果被格式化为字符类型 | ‘a’ |
%d | 结果被格式为十进制整数 | 29 |
%o | 结果被格式化为八进制整数 | 00100 |
%x、%X | 结果被格式化为十六进制整数 | 7E1 |
%e | 结果被格式化为用计算机科学计数法表示的十进制 | 1.700000e+00 |
%a | 结果被格式化为带有有效位数和指数的十六进制浮点值 | 0x1.f1a9fbe76c8b4p1 |
%n | 结果为特定于平台的行分隔符 | |
%% | 结果为字面值‘%’ | % |
源码
class Demo{
public static void main(String[] args){
String bool=String.format("%b",2<3);//布尔类型,判断2<3是否正确
System.out.println("%b 判断2<3是否正确:"+bool);
String bool2=String.format("%B",4>8);//布尔类型,判断4>8是否正确
System.out.println("%B 判断4>8是否正确:"+bool2);
String bool3=String.format("%B",5<8);//布尔类型,判断5<8是否正确
System.out.println("%B 判断5<8是否正确:"+bool3);
String liema=String.format("%h",30);//30的散列码
System.out.println("%h 30的散列码:"+liema);
String liema2=String.format("%H",30);//30的散列码
System.out.println("%H 30的散列码:"+liema2);
String liema3=String.format("%h",800);//800的散列码
System.out.println("%h 800的散列码:"+liema3);
String liema4=String.format("%H",800);//800的散列码
System.out.println("%H 800的散列码:"+liema4);
String str=String.format("%s","aoe");//aoe格式化成字符串
System.out.println("%s aoe格式化成字符串:"+str);
String str2=String.format("%S","aoe");//aoe格式化成字符串
System.out.println("%S aoe格式化成字符串:"+str2);
String zhifu=String.format("%c",'p');//p格式化成字符串
System.out.println("%c p格式化成字符串:"+zhifu);
String zhifu2=String.format("%C",'p');//p格式化成字符
System.out.println("%C p格式化成字符串:"+zhifu2);
String zhifu3=String.format("%c",'$');//$格式化成字符
System.out.println("%c $格式化成字符串:"+zhifu3);
String zhifu4=String.format("%C",'$');//$格式化成字符
System.out.println("%C $格式化成字符串:"+zhifu4);
String jin10=String.format("%d",000100);//二进制00100格式化成十进制
System.out.println("%d 00100格式化成10进制:"+jin10);
String jin8=String.format("%o",116);//116转化成八进制
System.out.println("%o 116转化成八进制:"+jin8);
String jin16=String.format("%x",116);//116转化成十六进制
System.out.println("%x 116转化成十六进制:"+jin16);
String jin162=String.format("%X",2017);//2017转化成十六进制
System.out.println("%X 2017转化成十六进制:"+jin162);
String jin101=String.format("%e",1.70000);//格式化为计算机科学计数法表示的十进制
System.out.println("%e 1.70000格式化为计算机科学计数法表示的十进制:"+jin101);
String jin163=String.format("%a",3.888);//被结果被格式化为带有效位数和指数的十六进制浮点值
System.out.println("%a 3.888被格式化为带有效位数和指数的十六进制浮点值:"+jin163);
String fenge=String.format("%n",8);//8(结果)作为平台的行分割符
System.out.println("%n:结果为8时作为平台行的分割符:"+fenge);
String fuhao=String.format("%%",8-3);//结果是8-3时用%代替
System.out.println("%% 结果为8-3用字面值%代替:"+fuhao);
String fuhao2=String.format("%%",5);//结果是5时用%代替
System.out.println("%% 结果为5用字面值%代替:"+fuhao2);
}
}
运行结果