2011-03-17 59 views
3

第一个问题在这里。评论的常见问题,但没有找到答案。ObjectiveC与iOS中%d的不同处理方法

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

使用的是iOS,它似乎是相当:%i和%d的整数%F浮法

有人可以证实,也许解释的理由。我已经浏览了Apple的字符串编程指南。

预先感谢您。

+0

'float'值作为'double'传递,所以'%f'确实是'double'。 – Gabe 2011-03-17 01:10:10

回答

5

接着是standard C/C++ syntax。所以%d和%i都是'有符号整数',%f是'十进制浮点数',并且会显示浮点数或双精度值。

不知道为什么d和i是重复的,%f浮动和加倍的原因是通过省略号传递的东西受到C升级规则的约束。如果你传递任何小于int的整数类型,它将被提升为一个全尺寸的int来传递。同样,如果你传递一个float,它将被提升为double。所以接收参数的东西只需要考虑整数与浮点数,而不是存储大小。

+0

谢谢你的帮助。这回答了我的问题。 – Spectravideo328 2011-03-17 17:03:25

相关问题