преобразовать число в слова, в цель c - PullRequest
6 голосов
/ 31 июля 2010

Мне нужно написать цифры, такие как: 1> йек

123> йексад о бист о

1,123> хезар о йексад о б

3,002,001>в свою очередь, хезар, о, ты ...

Я, новичок в цели c:)

Я пишу это в c, но хочу преобразовать его в obj_c!Как я могу это сделать?

что-то вроде:

const char  *yekan[10]={"","yek","do","se","chahar","panj","shesh","haft","hasht","noh"};
char ary[9]={'0','0','0','0','0','0','0','0','0'};

// get a number from user & converting it to string

// user number: 123 > the number in ary:000 000 123) 

// '3' => 3

m=(int) ary[8]; 
m=m-'0'; 

if (j==3)   { printf(" %s ",yekan[m]);} // yekan[3] = se 

output: se

спасибо.

Ответы [ 2 ]

22 голосов
/ 31 июля 2010

Класс NSNumberFormatter имеет встроенную функциональность для преобразования чисел в слова:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle: NSNumberFormatterSpellOutStyle];
[formatter setLocale:...]; // Set locale if you want to use something other then the current one
NSString* numberString = [formatter stringFromNumber:[NSNumber numberWithInt: 100]];
0 голосов
/ 20 января 2016

Swift версия ответа @Vladimir (на всякий случай)

let formatter = NSNumberFormatter()
formatter.numberStyle = .SpellOutStyle
formatter.locale = NSLocale(localeIdentifier: "en_US")
let string = formatter.stringFromNumber(55015515)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...