2016-12-29 53 views
0

如何使用Swift iOS中的當前語言環境將1000kg轉換爲1短噸? 輸入以千克爲單位。 我想輸出英鎊或短噸的字符串,具體取決於它是超過還是低於1000短噸。如何使用當前語言環境在Swift iOS中根據語言環境將1000磅轉換爲1短噸?

但是,如果默認區域設置爲公制系統,則應將其轉換爲公制。 == 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 
    } 
} 

回答

0

使用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 
    } 
} 
+0

爲什麼使用轉換而不是轉換? – user805981

+0

@ user805981嗯,'convert'出現在我棄用的地方。但我想你可以讓'kg'變成'var'並使用'convert'。必須是源代碼編輯器的呃逆。使用任何你喜歡的。 – JAL

+0

你會推薦一個switch語句而不是大的if else嗎? – user805981

相關問題