我面临一个小问题,我想知道:为什么?
这里我们有一些字符串:
[NSString stringWithFormat@"%.3f/%.3f/%.3f/%i", 1.0, 1.0, 1, 1];
在这种情况下,结果是1.000 / 1.000 / 1 / abra-kadabra,如34875689 。 为什么会这样?当然,我知道,当我们将第三个值更改为1.0时,一切都会好起来的。 那么,请解释一下这个操作的深层过程。
答案 0 :(得分:2)
由于您编写了%f
,编译器需要float
,但会识别int
。写1
而不是1.0
告诉编译器它是一个整数常量而不是1.0
,这是一个浮点常量。