NSLog()输出函数集格式字符

nslog()强大的功能这里就不多说了,笔者从c#转过来,难免会有些陌生。在c#中用format("{0}",xx}来进行占位,下面就来讲讲在oc中的格式字符;

  1. d:带符号的十进制形式输出整数(正数不输出符号)
  2. o:以八进制无符号形式输出整数(不输出前缀)
  3. x:以十六进制无符号形式输出整数(不输出0x)
  4. u:以无符号的十进制输出整数
  5. c:以字符形式输出,只输出一个字符
  6. s:输出c风格的字符串
  7. f:以小数形式输出浮点数,默认输出和位小数
  8. e:以指针形式输出浮点数,数字部份默认输出6位小数
  9. g:自动选用%f或%e其中之一,保证输出宽度较短的格式,并且不会输出无意义的0
  10. @:输出objcect对象

*在%与格式之间还可插入一下附加符号

  • l(字母) :可在格式字符d、o、x、u之前,用于输出长整型整数;也可以在f、e、g之前,用于输出长浮点型数
  • m(代表一个正整数):指定输出数据所占的最小宽度
  • n:对于浮点数,表示输出n位小数;对字符串,表示街区的字符个数
  • -:表示输出的数值向左边对其
  • 下面举个栗子:
  • 代码如下:
  1. int a=60;
  2. NSLog(@"==%d==",a);
  3. NSLog(@"==%9d==",a);//输出占位符
  4. NSLog(@"==%-8d==",a);//左对齐*注:%-占位符要写在%符号的后面,如果写在前面就不会起作用
  5. NSLog(@"==-%8d--",a);//错误的
  6. NSLog(@"==%o",a);//八制制
  7. double s=3.141592653;
  8. NSLog(@"==%f==",s);//以小数型式输出浮点型
  9. NSString *name=@"海格力斯";//字符串是指针类型,如c#中是特殊类型一样(引用类型)
  10. NSLog(@"%@",name);//输出字符串
  11. NSDate *date=[[NSDate alloc] init];
  12. 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

时间: 2024-10-29 09:51:29

NSLog()输出函数集格式字符的相关文章

常用的NSLOG日志打印格式

常用的NSLOG日志打印格式 字数126 阅读28 评论0 喜欢0 以下是常用的LOG打印,如果有特殊,请@我,这边会不定期更新. %@        对象 %d, %i   整数 %u         无符整形 %f          浮点/双字 %x, %X  二进制整数 %o         八进制整数 %zu       size_t %p        指针 %e        浮点/双字 (科学计算) %g        浮点/双字 %s        C 字符串 %.*s    

(6)关于%格式字符的

网上搜索一番,才知道自己真的书读的太少,容易被自己坑到... 表示输出类型的格式字符       格式字符意义 d                                                  以十进制形式输出带符号整数(正数不输出符号) o                                                  以八进制形式输出无符号整数(不输出前缀O) x                                             

printf格式字符

printf格式字符的具体说明可以参考谭浩强<C程序设计教程>(ISBN 978-7-302-15157-9)62页表3-1. //代码例程源自国嵌 #include <stdio.h> int main() { int i = -2; unsigned int j = 1; if( (i + j) >= 0 ) { printf("i+j>=0\n"); } else { printf("i+j<0\n"); } prin

日期格式字符详解

日期格式字符说明 (:) 时间分隔符.在某些区域设置中,可以使用其他字符表示时间分隔符.时间分隔符在格式化时间值时分隔小时.分钟和秒.格式化输出中用作时间分隔符的实际字符由您的应用程序的当前区域性值确定. (/) 日期分隔符.在某些区域设置中,可以使用其他字符表示日期分隔符.日期分隔符在格式化日期值时分隔日.月和年.格式化输出中用作日期分隔符的实际字符由您的应用程序的当前区域性确定. (%) 用于表明不论尾随什么字母,随后字符都应该以单字母格式读取.也用于表明单字母格式应以用户定义格式读取.有关

在C语言源程序中的格式字符与空格等效

#include <stdio.h> #include <stdlib.h> /* *预处理指令这里换行符会导致编译不通过,因此这里和空格符效果不一样 *而在非预处理指令的地方(源程序中),换行符和其他控制字符这些都和空格效果一样. *格式字符:回车.换行.退格.垂直制表符.换页符等. */ #define TEST 1 /* *编译命令:gcc -Wall -ansi -pedantic Test.c *可以看到格式字符和空格的作用是一样的 *用\可以把一个标识符分成两行写,但是

关于Matlab串口发送HEX格式字符

终于想起来更新一下关于使用Matlab串口发送HEX格式字符.这个用法主要来自于我使用Matlab对机器人进行实时轨迹跟踪的绘制,由于底层限制,自己又不想在中间增加转换模块,就需要直接发送HEX格式指令进行运动控制. 这个功能一开始一直没有实现,找了非常多国内论坛的资料,也没有好的解决办法,直到有一天谷歌出了一个国外论坛的网友给的方法,非常简单,三条指令搞定!现在列在下面: Str = 'FF55AACCDDEE00AA';     %字符串定义需要发送的十六进制内容 D = sscanf(St

字符编码集格式

Java 字符编码与解码   1.字符编码的发展历程 ①.ASCII 码 因为计算机只认识数字,所以我们在计算机里面的一切数据都是以数字来表示,因为英文字符有限,所以规定使用的字节的最高位是 0,每一个字节都是以 0-127 之间的数字来表示.比如 A 对应 65,a 对应 97.这便是 美国标准信息交换码,ASCII ? 1 2 3 String str = new String("Aa"); byte[] strASCII = str.getBytes("ASCII&qu

格式字符d c s &nbsp; f

d格式符:用于输出一个有符号的十进制整数 d前数字表示域宽(所占的列数),如%5d指定数据占5列,输出的数据在5列的靠右 若输出长整形,在d前加字母l即%ld. c格式符:用于输出一个字符 c前的数字也表示域宽,同d. char ch='a'; printf("%c",ch);//运行输出a printf("%5c",ch);//输出a,a前面有4个空格 char c='?'; printf("%d %c",c,c);//输出结果  63  ?

iOS 富文本格式字符 以及处理iOS8下textview设置富文本后输入bug

iOS的富文本设置,在iOS8下在textView的代理方法中设置textview的attributedText时,会出现富文本格式未加到text上的情况,可以在初始化时将文本属性赋给textview的typingAttributes.代码如下: NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; paragraphStyle.lineSpacing = 7;// 字体的行间距 UIF