占位符汇总

1、保留两位小数点

NSString *test = [NSString stringWithFormat:@"%.3f",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 - 垂直制表符

你可能感兴趣的:(占位符汇总)