我尝试将一个字符串转换为NSDecimalNumber,这是我的代码:
class func stringToDecimal (dataToDecimal: String) -> NSDecimalNumber {
let dataToDecimal = dataToDecimal.stringByReplacingOccurrencesOfString(",", withString: ".")
print(dataToDecimal)
let decimalReturn = NSDecimalNumber(string: dataToDecimal)
print(decimalReturn)
if decimalReturn == NSDecimalNumber.notANumber(){
return 0.00
}
return decimalReturn
}
起初我认为可能是逗号的问题,但即使用句点也不行。第一个打印(在转换之前)显示例如80,00,但打印decimalReturn只显示80。
if语句仅用于检查结果是否为数字。
let dataToDecimal = dataToDecimal.stringByReplacingOccurrencesOfString(",", withString: ".")
,将我的字符串转换为非空值。如果我只尝试一个带有“,”的字符串,它将返回nil。 - HongKongTomNSDecimalNumber
一直有那个初始化方法。如果你注意到了,所有Decimal
的方法都标记为iOS 10+
。 - SulthanDecimal
类中的所有内容都可以在2016年的操作系统版本中使用。 - rob mayoff