2017-02-27 2 views
2

をintにことを私は知っている(...例えば、1、2)をintに(...例えば、一つ、二つ)平易な英語の数を変換する方法を探してみてください

をNumberFormatter.Style.spellOutを変換します

numberFormatter:NumberFormatter = NumberFormatter() 
numberFormatter.numberStyle = NumberFormatter.Style.spellOut 
var string = numberFormatter.string(from: 3) // "three" 

これを逆に変換する方法はありますか?私は["One", "Two"..]

答えて

2

数フォーマッタのような文字列の配列を使用しないようにしようとしています

は両方の方向に働くので、あなただけ使用することができます。

let num = numberFormatter.number(from: string) 

しかし、あなたが作るために、いくつかの世話をする必要があります順方向の出力と正確に一致していることを確認してください。 "three"は3に変換されますが、"Three"は変換されません。

Sulthanノートでは、これはフォーマッタのロケールに対して絶対に敏感です(必要な場合は、ユーザのロケールと異なるように設定できます)。同じフォーマッタからの入力と出力が一致することを強く想定しています。

+1

これはロケールにも非常に敏感です。 – Sulthan

+0

ありがとうございました!私が探していたもの –

関連する問題