我正在设置一个MeasurementFormatter对象,使用.naturalScale作为unitOptions,使用locale作为指标输出。出于某种原因,它在生成字符串时完全跳过厘米。
以下是您可以粘贴到游乐场的代码:
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))
这会输出"0.002 m"
然后"1 mm"
,完全跳过cm。
有关为什么跳过厘米的任何想法?它与语言环境有关吗?还有别的吗?只是一个错误?
谢谢!