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插件。 –