温馨提示×

将价钱(float)转换成带分隔符的价钱(字符串)

发布时间:2020-04-29 19:34:43 来源:网络 阅读:567 作者:無名小卒 栏目:开发技术

2988.32 ——> 2,988.32

2988.00 ——> 2,988

+ (NSString *)priceStrWithPrice:(float)price
{
    NSString *priceStr = [NSString stringWithFormat:@"%.2f", price];
    NSString *intStr = [[priceStr componentsSeparatedByString:@"."] firstObject];
    NSString *dotStr = [[priceStr componentsSeparatedByString:@"."] lastObject];
    
    NSMutableArray *array = [NSMutableArray array];
    while ([intStr length] > 3) {
        NSString *right = [intStr substringFromIndex:[intStr length] - 3];
        NSString *left= [intStr substringToIndex:[intStr length] - 3];
        [array insertObject:right atIndex:0];
        intStr = left;
    }
    [array insertObject:intStr atIndex:0];
    
    NSString *result = [array componentsJoinedByString:@","];
    if ([dotStr intValue] > 0) {
        result = [NSString stringWithFormat:@"%@.%@", result, dotStr];
    }
    return result;
}


免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。