本文在一些大牛的资料闲时中收集整理,欢迎各位评论提出新的转换类型方便以后搜索时可以比较集中查找所需
//1. float-->Int:
float a = 3.14;
int b = (int)a;
NSLog(@"float-->Int: %d",b);
1.输出结果是1,(int) 是强制类型转化,直接丢弃浮点数的小数部分。
//2. floor 函数向下取整
float a = 1.6;
int b = floor(a);
NSLog(@"floor: %d",a);
2.输出结果是1,floor ( )方法是向下取整,对于正数来说是舍弃浮点数部分,对于复数来说,舍弃浮点数部分后再减1。(求最大的整数但不大于本身)
//3. ceil函数向上取整
float a = 1.3;
int b = ceil(a);
NSLog(@"ceil:%d",b);
3.输出结果是2,ceil ( )方法是向上取整,对于正数来说是舍弃浮点数部分并加1,对于复数来说就是舍弃浮点数部分。(求最小的整数但不小于本身)
//4. round四舍五入取整
float a = 1.6;
int b = round(a);
NSLog(@"round: %d",b);
4.输出结果是2,round ( )方法是四舍五入取整。(求本身的四舍五入)
//5. 保留两位小数点
NSString *test = [NSString stringWithFormat:@"%.3f",M_PI];
NSLog(@"%@",test);
5.输出为:3.14
//6. 整数位数不足时候前面自动补0; 03代表:如果count不足3位 用0在最前面补全(3代表总输出的个数)
NSInteger test = 6;
NSString *string = [NSString stringWithFormat:@"%03zd",test];
NSLog(@"%@", string);
6.输出结果是: 006
//7. 浮点型的占位符 %f,只能接受小数点点后六位。如果要接受64位的浮点型用%lf
CGFloat longFloat = 0.6882f;
NSLog(@"%@",[NSString stringWithFormat:@"%f",longFloat]);
CGFloat longFloat = 0.1234567891011f;
NSLog(@"%@",[NSString stringWithFormat:@"%f",longFloat]);
7.输出结果是 0.688200
7.输出结果是 0.123457
//8.整形的占位符 %d、%i、%zd可以用来接受有符号的整形,%u 用于接受无符号的整形,从上面的打印结果可以看出用%u接受一个负数的时候会溢出。如果要拼接长整形只需加l就行,例如%ld、%li、%lu
NSInteger longInt = -12;
NSInteger ulongInt = 13;
NSLog(@"%@",[NSString stringWithFormat:@"%d",longInt]);
NSLog(@"%@",[NSString stringWithFormat:@"%i",longInt]);
NSLog(@"%@",[NSString stringWithFormat:@"%zd",longInt]);
NSLog(@"%@",[NSString stringWithFormat:@"%u",longInt]);
NSLog(@"%@",[NSString stringWithFormat:@"%u",ulongInt]);
8.输出结果是 -12
8.输出结果是 -12
8.输出结果是 -12
8.输出结果是 4294967284
8.输出结果是 13
//9.字符串的占位符
NSString *testStr = @"test";
NSLog(@"\n输出结果%@\n",[NSString stringWithFormat:@"%@",testStr]);
9.输出结果test
//10. %的占位符 字符串中要使用%号的时候,可以在 使用 %% ,进行转义。
NSLog(@"%@",[NSString stringWithFormat:@"这个字符串要拼接百分号 %%"]);
10.输出结果为:这个字符串要拼接百分号 %
//11." 或者 \的占位符
NSLog(@"%@",[NSString stringWithFormat:@"双引号的转义字符 \" "]);
NSLog(@"%@",[NSString stringWithFormat:@"反斜杠的转义字符 \ "]);
11.输出为: 双引号的转义字符"
12.反斜杠的转义字符 \
如果要使用" 或者 \ 可以在 它们前面加上 \ 对其进行转义。
13.其他:stringWithFormat 拼接时候的占位符和NSLog打印输出时候的占位符是一样的
%@ 对象
%d, %i 整数
%u 无符整形
%f 浮点/双字
%x, %X 二进制整数
%o 八进制整数
%zu size_t
%p 指针
%e 浮点/双字 (科学计算)
%g 浮点/双字
%s C 字符串
%.*s Pascal字符串
%c 字符
%C unichar
%lld 64位长整数(long long)
%llu 无符64位长整数
%Lf 64位双字
%e 是实数,用科学计数法计的
\a - Sound alert
\b - 退格
\f - Form feed
\n - 换行
\r - 回车
\t - 水平制表符
\v - 垂直制表符
14.Double转换NSString 精度不准确
链接文章 https://www.jianshu.com/p/0db1f5466110