iOS处理数字千分位显示问题

前段时间中开发中遇到把美元转成千分位显示的需求,封装了个方法解决这个问题


用到的宏

//字符串是否为空
#define IsStrEmpty(_ref)(( [(_ref) isKindOfClass:[NSNull class]]||(_ref) == nil) || ([(_ref) isEqual:[NSNull null]]) ||([(_ref)isEqualToString:@""]) || ([(_ref) isEqualToString:@""]) )

转换方法

//转化为千分位格式,例如 :33369080 输出:33,369,080
+(NSString*)changeNumberFormatter:(NSString*)str{
   NSString *numString = [NSStringstringWithFormat:@"%@",str];
   NSNumberFormatter *formatter = [[NSNumberFormatteralloc]init];
   NSNumber *number = [formatternumberFromString:numString];
   formatter.numberStyle=kCFNumberFormatterDecimalStyle;
   NSString *string = [formatterstringFromNumber:number];
   NSLog(@"numberFormatter == %@",string);
   if(IsStrEmpty(string)) {
   return str;
   }
   return string;
}

你可能感兴趣的:(iOS处理数字千分位显示问题)