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位小数;对字符串,表示街区的字符个数

-:表示输出的数值向左边对其

下面举个栗子:

代码如下:

inta=60;

NSLog(@"==%d==",a);

NSLog(@"==%9d==",a);//输出占位符

NSLog(@"==%-8d==",a);//左对齐*注:%-占位符要写在%符号的后面,如果写在前面就不会起作用

NSLog(@"==-%8d--",a);//错误的

NSLog(@"==%o",a);//八制制

doubles=3.141592653;

NSLog(@"==%f==",s);//以小数型式输出浮点型

NSString*name=@"海格力斯";//字符串是指针类型,如c#中是特殊类型一样(引用类型)

NSLog(@"%@",name);//输出字符串

NSDate*date=[[NSDatealloc]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