CGFloat 小数点的精确运算

一般用两个CGFloat类型相减或者相加,可能会导致小数后运算不准确的现象,所以最好转化为

NSDecimalNumber对像进行运算;

效果:小数点最多显示两位,而且如果会将小数点后面0去掉

 

CGFloat a = 12.345011;

CGFloat b = 10.01;

NSDecimalNumber *num1 = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%0.02lf",a]];

NSDecimalNumber *num2 = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%0.02lf",b]];

NSDecimalNumber *result = [num1 decimalNumberBySubtracting:num2];  

NSLog(@"%@",result);

 

posted @ 2016-09-27 16:47  huangbiyong  阅读(1186)  评论(0编辑  收藏  举报