Objective C与iOS对%d的不同处理

时间:2011-03-17 01:01:01

标签: ios string floating-point formatting integer

第一个问题在这里。已审核常见问题但未找到答案。

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

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

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

提前谢谢。

1 个答案:

答案 0 :(得分:5)

遵循standard C/C++ syntax。因此%d和%i都是'有符号整数',%f是'十进制浮点'并且将显示浮点数或双精度数。

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