double money = 9.04;
NSNumber *moneyNum = [NSNumber numberWithDouble:money];
NSLog(@"moneyNum:%@",moneyNum); //此时输出9.039999999999999;
//使用NSDecimalNumber
moneyNum = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%f",money]];
NSLog(@"NSDecimalNumber:%@",moneyNum); //此时输出9.04
使用系统提供的NSDecimalNumber来处理,可以避免精度丢失。