iOS中金额字符串格式化显示的方法示例

2020-01-21 07:08:22丽君

其中,stringFormatToThreeBit: 方法的实现如下:


- (NSString *)stringFormatToThreeBit:(NSString *)string {
 NSString *tempString = [string stringByReplacingOccurrencesOfString:@"," withString:@""];
 NSMutableString *mutableString = [NSMutableString stringWithString:tempString];
 NSInteger n = 2;
 for (NSInteger i = tempString.length - 3; i > 0; i--) {
 n++;
 if (n == 3) {
  [mutableString insertString:@"," atIndex:i];
  n = 0;
 }
 }
 return mutableString;
}

上述实现看起来非常繁琐。

其实,苹果提供了 NSNumberFormatter 用来处理 NSString 和 NSNumber 之间的转化,可以满足基本的数字形式的格式化。

正确姿势

我们通过设置 NSNumberFormatter 的 numberStyle 和 positiveFormat 属性,即可实现上述功能,非常简洁,代码如下:


- (NSString *)formatDecimalNumber:(NSString *)string {
 if (!string || string.length == 0) {
 return string;
 }
 
 NSNumber *number = @([string doubleValue]);
 NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
 formatter.numberStyle = kCFNumberFormatterDecimalStyle;
 formatter.positiveFormat = @"###,##0.00";
 
 NSString *amountString = [formatter stringFromNumber:number];
 return amountString;
}

 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。


注:相关教程知识阅读请移步到IOS开发频道。