如下代码:
AVSpeechSynthesizer * speechSynthesizer = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString: @"112"];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"];
speechSynthesizer speakUtterance:utterance];
导致设备显示:“一百和十二”(英国拼写)
但是,如果您改写数字112:
NSString * wordNumber = nil;
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en-GB"]];
[numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle];
wordNumber = [numberFormatter stringFromNumber:@(112)];
现在wordNumber包含“一百一十二”(不包含和粒子)。
所以:
@"112" -> AVSpeechSynthesizer -> "one hundred and twelve"
@"112" -> NSNumberFormatter -> "one hundred twelve"
如何用和粒子(即英式拼写)对数字进行音译?
最佳答案
我相信您需要自己做。我无法产生您想要的结果或找到任何允许我这样做的资源。
我已链接到一个演示如何手动执行此操作的问题。
Is it possible to spell out numbers in words with a separator?
关于ios - NSNumberFormatter:用AND粒子拼出一个数字(英语拼写),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22921173/