Я пытаюсь преобразовать что-то вроде 11 038 665 в «11 миллионов». Я уверен, что это возможно, но может быть слишком сложно, чтобы это стоило того. Пока я использую важные функции цифр NSNumberFormatter
, чтобы сократить его до 11 000 000, а затем вернуться к номеру и использовать NSNumberFormatterSpellOutStyle
, чтобы выписать на «одиннадцать миллионов», есть ли способ получить «11 миллионов» вместо этого?NSNumber номер и слово combo
Мой текущий код:
NSNumberFormatter *fmtr = [[NSNumberFormatter alloc] init];
[fmtr setUsesSignificantDigits:YES];
[fmtr setMaximumSignificantDigits:3];
NSNumber *shortNum = [fmtr numberFromString:[fmtr stringFromNumber:longNum]];
[fmtr setNumberStyle:NSNumberFormatterSpellOutStyle];
NSString *shortNumSpelledOut = [fmtr stringFromNumber:shortNum];
Возможно, вы сами напишете конверсию. И только вы можете решить, где находится точка отсечения для округления. – nhahtdh
@nhahtdh да ... Я беспокоился, что может быть так. –
В общем вы можете использовать методы NSString для этой цели. – RomanHouse