初投稿はこちら。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 の値を示します。ここで何が間違っていますか?
みんな、ありがとう。