【发布时间】:2012-02-10 12:21:26
【问题描述】:
我正在研究 Objective C,我正在尝试推断二维数组的正确索引。
为此,我有几个按钮设置标签,将两个索引合并为一个数字。例如,数组中的位置 1,1 导致标记 = 11。
之后要取消合并索引的两个组件,我使用以下代码:
float tag = (float)[sender tag];
float x = [[NSString stringWithFormat:@"%.2f", tag / 10.f] floatValue];
//float x = (float)tag / 10.f;
int y = floor (x);
int z = (x - y) * 10;
这个理论很好,但是当我得到这些结果时我很惊讶:
标签 = 23 x = 2.29999995 而不是 2.3 的预期结果(23 / 10 = 2.3 而不是 2.2999995)!
我也尝试过两次和多次操作都没有成功。
谁知道我做错了什么?
谢谢。
【问题讨论】:
-
这与“Objective-C”无关,它只是普通的“C”和浮点运算的工作方式。
标签: objective-c floating-point divide