前段时间中开发中遇到把美元转成千分位显示的需求,封装了个方法解决这个问题
用到的宏
//字符串是否为空
#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;
}