1、保留两位小数点
NSString *test = [NSString stringWithFormat:@"%.2f",M_PI];
NSLog(@"%@",test);
输出为:3.14
2、整数位数不足时候前面自动补0
NSInteger test = 6;
//03代表:如果count不足3位 用0在最前面补全(3代表总输出的个数)
NSString *string = [NSString stringWithFormat:@"%03zd",test];
NSLog(@"%@", string);
输出结果是: 006
3、浮点型的占位符
CGFloat longFloat = 0.6882f;
NSLog(@"%@",[NSString stringWithFormat:@"%f",longFloat]);
输出结果是 0.688200
CGFloat longFloat = 0.1234567891011f;
NSLog(@"%@",[NSString stringWithFormat:@"%f",longFloat]);
输出结果是 0.123457
可以看出%f,只能接受小数点点后六位。如果要接受64位的浮点型用%lf
4、整形的占位符
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]);
输出结果是 -12
输出结果是 -12
输出结果是 -12
输出结果是 4294967284
输出结果是 13
%d、%i、%zd可以用来接受有符号的整形,%u 用于接受无符号的整形,从上面的打印结果可以看出用%u接受一个负数的时候会溢出。如果要拼接长整形只需加l就行,例如%ld、%li、%lu
5、字符串的占位符
NSString *testStr = @"test";
NSLog(@"\n输出结果%@\n",[NSString stringWithFormat:@"%@",testStr]);
输出结果test
6、%的占位符
NSLog(@"%@",[NSString stringWithFormat:@"这个字符串要拼接百分号 %%"]);
输出结果为:这个字符串要拼接百分号 %
字符串中要使用%号的时候,可以在 使用 %% ,进行转义。
7、 " 或者 \的占位符
NSLog(@"%@",[NSString stringWithFormat:@"双引号的转义字符 " "]);
NSLog(@"%@",[NSString stringWithFormat:@"反斜杠的转义字符 \ "]);
输出为: 双引号的转义字符"
反斜杠的转义字符 \
如果要使用" 或者 \ 可以在 它们前面加上 \ 对其进行转义。
其他:
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 - 垂直制表符