Как использовать NSNumberFormatter для отображения валюты?

#objective-c #xcode #nsnumberformatter

#objective-c #xcode #nsnumberformatter

Вопрос:

Я хочу отформатировать число с помощью NSNumberFormatter, чтобы оно отображалось в виде валюты следующим образом:

 NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];
NSNumber *myNumber = [NSNumber numberWithDouble:[@"0.058" doubleValue]];

[numFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
  

Это дает мне 0,06 € . Но я хочу, чтобы это было 5,8 ct . Есть идеи?

Комментарии:

1. Вы всегда можете настроить форматер вручную, точно в соответствии с вашими требованиями. Вы всегда хотите, чтобы значения отображались в центах?

Ответ №1:

Вы можете настроить NSNumberFormatter следующим образом :

 NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];
[numFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numFormatter setCurrencySymbol:@"ct"];
[numFormatter setMultiplier:100];
NSNumber *myNumber = [NSNumber numberWithDouble:[@"0.058" doubleValue]];
  

Комментарии:

1. спасибо, пока все отлично, возможно ли иметь только числа x, x ct без последнего 0?

2. Вы можете использовать setFormat:(NSString *)aFormat (@»# ##0.0″ для вас) шаблоны форматирования where можно найти здесь