Tag: nsmeasurementformatter

使用MeasurementFormatter将仪表显示为英尺

我无法获得新的MeasurementFormatter类以适当的单位给出结果。 我希望以本地化的string(米或英尺取决于用户的区域设置)显示米的值。 我有这个: let meters : Double = 10 let metersMeasurement = Measurement(value: meters, unit: UnitLength.meters) let measurementFormatter = MeasurementFormatter() measurementFormatter.locale = Locale(identifier: "en_US") let localizedString = measurementFormatter.string(from: metersMeasurement) 这给了我一串“0.006mi”。 我想,这是正确的,但是将10米转换成英里是有点荒谬的。 我想要的是“32.8英尺”。 MeasurementFormatter上的.providedUnit选项没有帮助,只是以米为单位给出结果。 我可以查看当前的语言环境并自己处理,但这正是MeasurementFormatter应该不必要的。 有什么办法让它做我需要的吗?