第一次在这里发帖。NSNumber 的 floatValue 方法有问题——不知何故,它返回了一个不精确的数字。这是问题所在:我将一堆 NSNumbers 存储在一个数组中,如下所示:
NSArray *a = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.04f],
[NSNumber numberWithFloat:0.028f],
[NSNumber numberWithFloat:0.016f],
[NSNumber numberWithFloat:0.004f],
nil];
然后我尝试检索第一个值(例如): NSNumber n = (NSNumber ) [a objectAtIndex:0]; CGFloat f = [n floatValue];
在调试器中,n 显示的值为 0.04(在汇总列中),但 f 显示的值为 0.0399999991。我在这里做错了什么?
谢谢大家。