2
を入力し、私は通貨に文字列をひそかし、2進空間を維持したい:NumberFormatterは通貨は、2進スペースに
let formatter = NumberFormatter()
formatter.maximumFractionDigits = 2
formatter.numberStyle = .currency
formatter.locale = Locale(identifier: "zh_CN")
formatter.number(from: "¥12") // Output 12 correct.
formatter.number(from: "¥1213.1263") // Output 1213.1263
formatter.string(from: 1213.1263) // Output "¥1,213.13"
あなたはコメントで出力を見ることができます。なぜformatter.number(from: "¥1213.1263")
の出力1213.13
を出力しないのですか?私は最大小数点以下の桁を2
に設定しました。
しかし、ドキュメントには次のように書かれています。受信者が_input_および_output_として小数点記号の後の最大桁数を許可しています。これは、入力に2小数点以下しか使用できないため、1213.1263円でnilを返さなければならないことを意味します。これはどうやって説明しましたか? – Sweeper
ドキュメントは、他の多くのケースと同様に100%正確ではありません。これは、* input *および/または* output *が参照する形式を示していません。あなたは自分で確認することができます。これは、 'NumberFormatter'がどのように動作し、長い間働いていたかです。 –
ああ。私はAppleが悪いことに同意する。 – Sweeper