iOS-四舍五入

当遇到四舍五入问题时,如果使用强转会导致精度缺失

NSNumber *num1 =[[NSNumber alloc]initWithFloat:3.1321];
NSLog(@"%d",[num1 intValue]);
输出3

当有需要精确到几位之后的小数的需求
建议使用math.h里面的roundf方法

NSLog(@"%f",round(12345.6789));//12346.000000
NSLog(@"%f",round(12345.6749*100)/100);//12345.670000   
NSNumber *num = [NSNumber numberWithFloat:12.1250];
NSLog(@"%@",[NSString stringWithFormat:@"%.2f",round([num floatValue]*100)/100]);//12.13

以实现四舍五入

你可能感兴趣的:(iOS-四舍五入)