美文网首页
iOS 千位分隔符(最多支持两位小数)

iOS 千位分隔符(最多支持两位小数)

作者: uclort | 来源:发表于2016-08-24 17:20 被阅读98次
- (NSString *)separatedDigitStringWithStr:(NSString *)digitString
{
    if (digitString.length <= 3) {
        return digitString;
    } else {
        NSMutableString *processString = [NSMutableString stringWithString:digitString];
        NSInteger location = processString.length - 3;
        NSMutableArray *processArray = [NSMutableArray array];
        while (location >= 0) {
            NSString *temp = [processString substringWithRange:NSMakeRange(location, 3)];
            [processArray addObject:temp];
            if (location < 3 && location > 0) {
                NSString *t = [processString substringWithRange:NSMakeRange(0, location)];
                [processArray addObject:t];
            }
            location -= 3;
        }
        NSMutableArray *resultsArray = [NSMutableArray array];
        int k = 0;
        for (NSString *str in processArray) {
            k++;
            NSMutableString *tmp = [NSMutableString stringWithString:str];
            if (str.length > 2 && k < processArray.count )
            {
                [tmp insertString:@"," atIndex:0];
                [resultsArray addObject:tmp];
            } else {
                [resultsArray addObject:tmp];
            }
        }
        NSMutableString *resultString = [NSMutableString string];
        for (NSInteger i = resultsArray.count - 1 ; i >= 0; i--) {
            NSString *tmp = [resultsArray objectAtIndex:i];
            [resultString appendString:tmp];
        }
        if ([resultString rangeOfString:@"."].length) {
            NSRange range = NSMakeRange(resultString.length - 4, 1);
            [resultString deleteCharactersInRange:range];
            return resultString;
        }else {
            return resultString;
        }
    }
}

相关文章

网友评论

      本文标题:iOS 千位分隔符(最多支持两位小数)

      本文链接:https://www.haomeiwen.com/subject/tedosttx.html