unitOptionsには.naturalScale、メトリック出力にはカナダへのロケールを使用して、MeasurementFormatterオブジェクトを設定しています。何らかの理由で、文字列を生成するときにセンチメートルを完全にスキップしています。MeasurementFormatter naturalScaleのセンチメートルの表示がありません
import UIKit
let formatter = MeasurementFormatter()
formatter.locale = Locale(identifier: "EN_CA")
formatter.unitOptions = .naturalScale
formatter.string(from: Measurement(value: 2, unit: UnitLength.centimeters))
ここで出力が"0.02 m"
いうより期待"2 cm"
次のとおりです。ここで
あなたは遊び場に貼り付けることができるコードです。
他の例:
formatter.string(from: Measurement(value: 0.2, unit: UnitLength.centimeters))
formatter.string(from: Measurement(value: 0.1, unit: UnitLength.centimeters))
これは完全にCMをスキップし、"0.002 m"
、次いで"1 mm"
を出力します。
センチメーターをスキップする理由は何ですか?ロケールとは何か関係がありますか?それは別のものですか?ちょうどバグですか?
ありがとうございます!
何の出力を得て、何を期待していますか? –
上記の出力は「0.02m」です。 "2cm"だけを出力することを期待してください。質問を編集して更新するつもりです。 – Mathieson
試してみてください 'formatter.unitOptions = .providedUnit' –