变量benefit.amount
以字符串形式出现。
var amount = String()
if let tempAmount = benefit.amount as? NSDecimalNumber {
amount = Formatter.currencyFormat(tempAmount)
} else {
amount = tempAmount
}
我想要做的就是如果benefit.amount
类似于1000
,我可以在其上使用货币格式化程序。有时虽然该变量可能看起来像Included in Policy Year Maximum Benefit
,但显然无法将其变成数字。
请告知。
答案 0 :(得分:1)
尝试将值转换为Int
。初始化程序在失败时返回nil
。
let amount : String
if let tempAmount = Int(benefit.amount) {
amount = Formatter.currencyFormat(tempAmount)
} else {
amount = benefit.amount
}
答案 1 :(得分:1)
您必须使用init(string:)
方法并将结果与NSDecimalNumber.notANumber()
进行比较:
let decimal = NSDecimalNumber(string: benefitAmount)
if decimal == NSDecimalNumber.notANumber() {
// handle not a number
}
else {
// handle the number
}