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)];