Iphone 奇数整型到字符串问题?

Iphone 奇数整型到字符串问题?,iphone,objective-c,Iphone,Objective C,我有以下代码: NSString *hString = [NSString stringWithFormat:@"%d", (h * 100)]; HField.text = hString; H是0.721 HField.text现在显示: 1073741824 你知道为什么这不能给我72分吗?啊。问题是h似乎是一个双精度或浮点数。试试这个: HField.text = [NSString stringWithFormat: @"%f", (h * 100.0)]

我有以下代码:

NSString *hString = [NSString stringWithFormat:@"%d", (h * 100)];
    HField.text = hString;
H是0.721

HField.text现在显示:

1073741824

你知道为什么这不能给我72分吗?

啊。问题是h似乎是一个双精度或浮点数。试试这个:

HField.text = [NSString stringWithFormat: @"%f", (h * 100.0)];
这应该行得通。浮点数必须使用%f,整数必须使用%d

编辑 舍入将浮点值舍入为整数。您可以交替使用ceil或floor分别向上或向下取整。NSInteger强制转换用于确保它被转换为整数。

对于%d,您引用的是整数

请尝试%f:


可能是因为如果h为0.721,它是一个浮点或双精度,这意味着产品是一个浮点或双精度,这意味着您应该首先将其转换为int或使用%f.

这是有效的,但它现在将其作为浮点返回。有没有一种方法可以执行相同的操作,但将其作为整数返回?
HField.text = [NSString stringWithFormat: @"%d", (NSInteger) round(h * 100.0)];
NSString *hString = [NSString stringWithFormat:@"%f", (h * 100)];