iOS: formatting decimal numbers

前端 未结 2 376
小蘑菇
小蘑菇 2020-12-21 07:04

I have an NSDecimalNumber representing a money amount. I want to print it as \"999 999 999 999 999 999,00\", regardless on the locale. How do I do that?

2条回答
  •  -上瘾入骨i
    2020-12-21 07:35

    Try this:

        NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"US"];
    
        NSNumberFormatter *frm = [[NSNumberFormatter alloc] init];
        [frm setNumberStyle:NSNumberFormatterDecimalStyle];
        [frm setMaximumFractionDigits:2];
        [frm setMinimumFractionDigits:2];
        [frm setLocale:usLocale];
        NSString *formattedNumberStr = [frm stringFromNumber:[NSNumber numberWithFloat:floatToRound]];
    
        [frm release];
    [usLocale release];
    
        return formattedNumberStr;
    

提交回复
热议问题