nslog()强大的功能这里就不多说了,笔者从c#转过来,难免会有些陌生。在c#中用format("{0}",xx}来进行占位,下面就来讲讲在oc中的格式字符;
-
d:带符号的十进制形式输出整数(正数不输出符号)
-
o:以八进制无符号形式输出整数(不输出前缀)
-
x:以十六进制无符号形式输出整数(不输出0x)
-
u:以无符号的十进制输出整数
-
c:以字符形式输出,只输出一个字符
-
s:输出c风格的字符串
-
f:以小数形式输出浮点数,默认输出和位小数
-
e:以指针形式输出浮点数,数字部份默认输出6位小数
-
g:自动选用%f或%e其中之一,保证输出宽度较短的格式,并且不会输出无意义的0
-
@:输出objcect对象
*在%与格式之间还可插入一下附加符号
-
l(字母) :可在格式字符d、o、x、u之前,用于输出长整型整数;也可以在f、e、g之前,用于输出长浮点型数
-
m(代表一个正整数):指定输出数据所占的最小宽度
-
n:对于浮点数,表示输出n位小数;对字符串,表示街区的字符个数
-
-:表示输出的数值向左边对其
-
下面举个栗子:
-
代码如下:
-
int a=60;
-
NSLog(@"==%d==",a);
-
NSLog(@"==%9d==",a);//输出占位符
-
NSLog(@"==%-8d==",a);//左对齐*注:%-占位符要写在%符号的后面,如果写在前面就不会起作用
-
NSLog(@"==-%8d--",a);//错误的
-
NSLog(@"==%o",a);//八制制
-
double s=3.141592653;
-
NSLog(@"==%f==",s);//以小数型式输出浮点型
-
-
NSString *name=@"海格力斯";//字符串是指针类型,如c#中是特殊类型一样(引用类型)
-
NSLog(@"%@",name);//输出字符串
-
NSDate *date=[[NSDate alloc] init];
-
NSLog(@"%@",date);
---------结果如下----------
2017-03-14 00:11:49.451367 Test[1713:79881] ==60==
2017-03-14 00:11:49.451597 Test[1713:79881] == 60==
2017-03-14 00:11:49.451623 Test[1713:79881] ==60 ==
2017-03-14 00:11:49.451635 Test[1713:79881] ==- 60--
2017-03-14 00:11:49.451649 Test[1713:79881] ==74
2017-03-14 00:11:49.451669 Test[1713:79881] ==3.141593==
2017-03-14 00:11:49.451983 Test[1713:79881] 海格力斯
2017-03-14 00:11:49.457270 Test[1713:79881] 2017-03-13 16:11:49