NSString
2桁の標準的な10進数(例:8.20)を含むをに変換すると、 NSNumber
(時々)余分な桁が発生し、結果をNSLog
Core Dataに記録したり(floatまたはdoubleとして)保存したりすると、奇妙な丸め動作が発生します)、例:8.20->8.19999999999999。
これは、数値を変換するために使用しているコードです。
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setMaximumFractionDigits:5];
NSNumber *num = [numberFormatter numberFromString:str];
NSNumberへの変換がなぜ数を台無しにするのか理解できません。私のコードの何が問題になっていますか?