在ObjectiveC和iOS中对%d的不同处理

Kha*_*azi 3 string floating-point formatting integer ios

第一个问题在这里 已审核FAQ但未找到答案.

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

使用iOS,它似乎是:%i和%d表示整数,%f表示浮点数

有人可以确认并解释其基本原理.我已经浏览了Apple的字符串编程指南.

先感谢您.

Tom*_*mmy 5

标准的C/C++语法之后.因此%d和%i都是'有符号整数',%f是'十进制浮点'并且将显示浮点数或双精度数.

不确定为什么d和i是重复的,%f确实浮动和加倍的原因是通过省略号传递的东西受C推广规则的约束.如果传递任何小于int的整数类型,它将被提升为完整大小的int以进行传递.同样,如果你传递一个浮点数,它将被提升为一个双精度数.所以接收参数的东西只需要考虑整数与浮点,而不是存储大小.