如何在 Swift 中使用MeasurementFormatter 对Measurement 类型的值进行四舍五入?

Mo *_*ani 1 measurement rounding foundation ios swift

我需要使用将类型值四舍五入Measurement<UnitLength>到最接近的 Int MeasurementFormatter。给出以下示例:

let distance = Measurement(value: 0.28, unit: .miles)

let formattedDistance = measurementFormatter.string(from: distance) // "492.8 yd"
Run Code Online (Sandbox Code Playgroud)

我想要实现的是“493 码”而不是“492.8 码”

我尝试使用roundingMode但对它的任何模式都没有帮助:

measurementFormatter.numberFormatter.roundingMode = .up
Run Code Online (Sandbox Code Playgroud)

任何帮助或想法表示赞赏。

Dáv*_*tor 6

您需要在和to上设置maximumFractionDigitsto来强制格式化程序将十进制数字向上舍入。0NumberFormatterroundingMode.up

measurementFormatter.numberFormatter.maximumFractionDigits = 0
measurementFormatter.numberFormatter.roundingMode = .up
Run Code Online (Sandbox Code Playgroud)