在iOS中,经常会遇到精度失真的情况,下面总结一些常用的防止转换失真的方法。
1. double转number精度失真
double money = 89.99;
NSNumber *moneyNum = [NSNumber numberWithDouble:money];
NSLog(@"%@",moneyNum); //此时输出89.9899999999999;
//使用NSDecimalNumber
moneyNum = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%f",money]];
NSLog(@"%@",moneyNum); //此时输出89.99
2.