news 2026/7/3 6:06:00

OC中的格式说明符(Format Specifiers)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OC中的格式说明符(Format Specifiers)

在 Objective-C 中,%@%d这类符号是格式说明符,用于在NSLog[NSString stringWithFormat:]等方法中指定数据的输出格式。

📝 常用占位符速查表

占位符类型说明示例
%@对象(调用对象的description方法)NSLog(@"%@", @"Hello");Hello
%d,%i有符号整型(int)NSLog(@"%d", 10);10
%ld有符号长整型(long)NSLog(@"%ld", (long)100);100
%lu无符号长整型(unsigned long)NSLog(@"%lu", (unsigned long)5);5
%f浮点数(double/float)NSLog(@"%f", 3.14);3.140000
%.2f保留两位小数的浮点数NSLog(@"%.2f", 3.14);3.14
%c单个字符(char)NSLog(@"%c", 'A');A
%sC语言字符串(char*)NSLog(@"%s", "Hello");Hello
%%百分号本身NSLog(@"%%");%
%p内存地址NSLog(@"%p", &a);0x7ffee...

📏 修饰符(控制宽度与精度)

用法说明示例 (int num = 10)输出结果
%4d右对齐,占4个字符宽度NSLog(@"%4d", num);10
%-4d左对齐,占4个字符宽度NSLog(@"%-4d", num);10
%04d占4位,不足补0NSLog(@"%04d", num);0010
%.2f保留两位小数NSLog(@"%.2f", 3.14);3.14

⚠️ 关键提醒

  1. %@vs%s
    • %@用于 OC 对象(NSStringNSArray等),调用的是对象的description方法。
    • %s用于 C 风格字符串(char *),两者不能混用,否则会 crash 或乱码。
  2. NSInteger/NSUInteger的打印:最安全的写法是:
    • NSInteger%ld+(long)强转
    • NSUInteger%lu+(unsigned long)强转
  3. CGFloat的打印:直接使用%f%.nf即可。

使用场景示例

NSInteger age=25;CGFloat height=175.5;NSString*name=@"张三";NSArray*array=@[@1,@2,@3];// 组合使用NSString*info=[NSString stringWithFormat:@"姓名:%@,年龄:%ld岁,身高:%.1fcm",name,(long)age,height];NSLog(@"%@",info);// 输出:姓名:张三,年龄:25岁,身高:175.5cm// 打印数组NSLog(@"数组内容:%@",array);// 输出:数组内容:(// 1,// 2,// 3// )
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 6:01:56

KingFlow 接入 Claude Code 的 Windows / macOS / Linux 配置教程

Claude Code 想在国内稳定使用,最关键的是把 API Key 和接口地址配置正确。很多问题并不是模型不可用,而是环境变量没生效、Base URL 填错、终端没有重新打开,或者没有进入项目目录启动。 这篇文章按 Windows、macOS、Linux 三类环境整理 Ki…

作者头像 李华
网站建设 2026/7/3 5:56:03

Python机器学习:从零基础到深度实践全攻略

1. 项目概述"Python机器学习:从零基础到深度实践"这个标题背后,实际上是一个完整的机器学习学习路径设计。作为在数据科学领域摸爬滚打多年的从业者,我见过太多人因为学习路径不合理而半途而废。这个项目最大的价值在于它构建了一个…

作者头像 李华
网站建设 2026/7/3 5:54:32

Etsy店铺被封怎么办?2026年10大封店原因及申诉方案

对于跨境卖家来说Etsy 凭借其高客单价和独特的手工艺/定制化生态,一直是一块让人垂涎的肥肉。然而,Etsy 的风控在业内也是出了名的“严苛且任性”,经常遭遇封禁。更让许多卖家头疼的是,Etsy 的风控系统并不会总是明确告诉你具体原…

作者头像 李华
网站建设 2026/7/3 5:49:29

工业机器人上位机Qt6+C++实战开发,解决现场90%稳定性问题

在工业自动化赛道爆火的当下,工业机器人研发早已不是单纯的机械调试,软件控制系统才是核心壁垒。很多机器人研发工程师、嵌入式开发者都会遇到这些棘手问题:机器人上位机需要实时联动机械臂、高频接收运动数据、精准控制点位轨迹;…

作者头像 李华