NSNumberFormatter:用AND粒子拼写数字(英文拼写)

joa*_*oan 6 objective-c nsnumberformatter ios avspeechsynthesizer

以下代码:

AVSpeechSynthesizer * speechSynthesizer = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString: @"112"];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"];
speechSynthesizer  speakUtterance:utterance];
Run Code Online (Sandbox Code Playgroud)

导致与设备说:"百十二条"(英式拼写)

但是,如果你改为编号112:

NSString * wordNumber = nil;
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en-GB"]];
[numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle];
wordNumber = [numberFormatter stringFromNumber:@(112)];
Run Code Online (Sandbox Code Playgroud)

现在wordNumber包含"一百一十二"(没有和粒子).

所以:

@"112" -> AVSpeechSynthesizer -> "one hundred and twelve"
@"112" -> NSNumberFormatter   -> "one hundred twelve"
Run Code Online (Sandbox Code Playgroud)

我怎样才能用数字数字来音译数字,即英文拼写?

Bra*_*ker 1

我相信你需要自己做这件事。我无法产生您想要的结果或找到任何允许我这样做的资源。

我已经链接到一个演示如何手动执行此操作的问题。

是否可以用带有分隔符的单词拼写出数字?