Как конвертировать 1000 фунтов в 1 короткую тонну с текущей локалью в Swift iOS в зависимости от локали?
Как мне конвертировать 1000 кг в 1 короткую тонну в текущей локали в Swift iOS? Ввод в кг. Я хочу вывести строку в фунтах или коротких тоннах в зависимости от того, была ли она выше или ниже 1000 коротких тонн.
Однако если языковой стандарт по умолчанию был в метрической системе, его следует преобразовать в метрические тонны. == 0,5 метрических тонн
Я считаю, что должен быть гораздо более простой способ, чем делать, если заявления, подобные следующим.
Пример:
let x = Measurement(value=1000, unit:UnitMass.kilograms)
if locale is metric and value is 1000kg and above{
// convert it metric tons
}else if not metric system{
if x converted lbs and is above 1000lbs and above{
//convert to short tons
}else{
//remain in lbs
}
}
1 ответ
Использование Locale
чтобы увидеть, настроено ли устройство на использование метрической системы. Остальное относительно просто:
let kg = Measurement<UnitMass>(value: 1000, unit: .kilograms)
if Locale.current.usesMetricSystem && kg.value > 1000 {
let tons = kg.converted(to: .metricTons)
} else {
let lbs = kg.converted(to: .pounds)
if lbs.value > 1000 {
let shortTons = lbs.converted(to: .shortTons)
} else {
// lbs
}
}