0
我有一個字符串,我試圖將其轉換爲我可以做的小數。轉換之前檢查字符串是否有貨幣符號
這裏是要轉換爲1.50的字符串,我通過下面的函數運行它,並找回正確的十進制數。但是有時候這個字符串可能看起來像這個$ 1.50,在這種情況下傳遞給第一個函數失敗。如果我將它傳遞給第二個可用的函數,但我需要能夠確定如何確定字符串是否具有貨幣符號。或者可能將兩種功能合併爲一種,正如我認爲的那樣。
func decimalFormat(stringNumber:String) -> Decimal{
print("\(stringNumber) is the number being passed")
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
let number = numberFormatter.number(from: stringNumber)
print("\(number!) is the number")
let amount = number?.decimalValue
return amount!
}
的問題是,有時串有一個貨幣符號,我想檢查任何地方符號,然後使用類似這樣把它轉換
func curencyToDecimal(stringNumber:String) -> Decimal{
print("\(stringNumber) is the number being passed")
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .currency
let number = numberFormatter.number(from: stringNumber)
print("\(number!) is the number")
let amount = number?.decimalValue
return amount!
}
我只是在嘗試轉換它之前不確定如何檢查符號。
你可能可以使用正則表達式嗎? –
嘗試兩種方法怎麼樣?如果使用'.decimal'進行轉換失敗(返回nil),則嘗試使用'.currency'進行轉換。 –
請不要添加無關標籤。 [curry-currency-converter]是關於一些jQuery插件。 –