Форматирование измерений: пространство между значением и единицей

У меня есть Measurement атрибут:

let measurement = Measurement(value: 10000.0, unit: UnitMass.grams)

что я хочу напечатать в виде строки. Я использую следующее MeasurementFormatter:

let measurementFormatter = MeasurementFormatter()
measurementFormatter.unitStyle = .short
measurementFormatter.numberFormatter.numberStyle = .decimal

print(measurementFormatter.string(from: measurement))

который печатает 10,000g,

Как я могу получить его на печать 10,000 gто есть с пробелом между значением и единицей?

1 ответ

Решение

Проблема в том, что вы используете стиль .short, Просто закомментируйте эту строку, и она должна отобразить пробел между ними:

let measurement = Measurement(value: 10000, unit: UnitMass.grams)
let measurementFormatter = MeasurementFormatter()
// measurementFormatter.unitStyle = .short
measurementFormatter.unitOptions = .providedUnit
measurementFormatter.numberFormatter.numberStyle = .decimal
print(measurementFormatter.string(from: measurement))    // "10,000 g\n"
Другие вопросы по тегам