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

以实现四舍五入

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容