Aşağıdaki kod: cihazla içindeNSNumberFormatter: AND parçacık (İngiliz yazım) bir sayı ortaya yazım
AVSpeechSynthesizer * speechSynthesizer = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString: @"112"];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"];
speechSynthesizer speakUtterance:utterance];
sonuç söyleyerek: "Yüz ve oniki" (İngiliz yazım)
Ama bunun yerine numarayı 112 çevirisini ise:
NSString * wordNumber = nil;
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en-GB"]];
[numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle];
wordNumber = [numberFormatter stringFromNumber:@(112)];
şimdi wordNumber (ve parçacık olmadan) "112" içerir.
Yani:
@"112" -> AVSpeechSynthesizer -> "one hundred and twelve"
@"112" -> NSNumberFormatter -> "one hundred twelve"
nasıl ve parçacıklar, yani, İngiliz yazım ile bir dizi çevirisini?
"stringFromNumber" argümanı, dize değişmezi yerine @ 112'dir. – blackbird
olası bir kopyası [Bir ayırıcı ile sözcükleri numaralandırmak mümkün mü?] (Http://stackoverflow.com/questions/12250126/is-it-possible-to-spell-out-numbers-in-words- ile-ayırıcı) –