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)
我怎样才能用数字和数字来音译数字,即英文拼写?