我们通过一个NSString的类目对字符串进行功能扩展:
1.将符合规则的金额字符串进行@“###,##0.00”格式转换;
2.将转换之后带“,”的字符串转成正常的金额数据格式,实现互转;
代码如下:
#import "NSString+SeparateCounting.h"
#import "NSString+Regular.h"
@implementation NSString (SeparateCounting)
-(NSString *)separateCounting{
if (self.length == 0) {
return @"";
}else if ([self containsString:@","]){
return self;
}else if (![self isPureDouble]){
return self;
}else{
//带千分位分隔符样式
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
[formatter setPositiveFormat:@"###,##0.00"];
return [NSString stringWithFormat:@"%@",[formatter stringFromNumber:[NSNumber numberWithDouble:[self doubleValue]]]];
}
}
-(NSString *)separateNormal{
if (self.length == 0) {
return @"";
}else{
return [self stringByReplacingOccurrencesOfString:@"," withString:@""];
}
}
@end
有关数据的格式化输出可参考文章:《【iOS】NSNumberFormatter》