ios - ObjectiveC 与 iOS 中对 %d 的不同处理

标签 ios string floating-point formatting integer

这里是第一个问题。查看常见问题解答但未找到答案。

我使用 Kochan 的书学习了 Obj C,他将 %i 分类为整数,%f 分类为 float ,%d 分类为 double 。

使用 iOS,它似乎是:整数的 %i 和 %d 和 float 的 %f

有人可以确认并解释理由吗?我已经看过 Apple 的字符串编程指南。

提前谢谢你。

最佳答案

standard C/C++ syntax被跟随。所以 %d 和 %i 都是“有符号整数”,%f 是“十进制 float ”,将显示 float 或 double 。

不确定为什么 d 和 i 重复,%f float 和 double 的原因是通过省略号传递的东西受 C 提升规则的约束。如果您传递任何小于 int 的整数类型,它将被提升为完整大小的 int 以供传递。同样,如果您传递一个 float ,它将被提升为一个 double 。所以接收参数的东西只需要考虑整数还是 float ,而不是存储大小。

关于ios - ObjectiveC 与 iOS 中对 %d 的不同处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333652/

相关文章:

java - String类和StringBuffer类的区别

c - float - c 数据类型

objective-c - UIView setNeedsDisplay 调用CALayer 的setNeedsDisplay?

iphone - iOS推送通知分发证书

c# - 如何获取字符串中除第一个单词以外的所有单词

ios - 如何在 Swift 中解析由蓝牙设备发送的 float ?

c - 给定范围内数字的浮点仿真或定点

ios - 可折叠表格 View 错误

iOS 应用程序启动然后立即在模拟器/xcode 中关闭

java字符串连接奇怪的行为