我发现我的代码中有一个错误,该错误是由NSDecimalNumber.notANumber.intValue
返回9引起的,而我期望NaN
(返回floatValue
或doubleValue
时)。有人知道为什么吗?
答案 0 :(得分:6)
类似于Joakim Danielson提到并在Apple Developer Documentation
中指出...由于数字类型具有不同的存储功能,因此尝试使用一种类型的值进行初始化并访问另一种类型的值可能会产生错误的结果...
并且由于Swift的Int
结构不能表示NaN值,因此您会得到此错误结果。
相反,您可以使用Int
的{{3}} Failable Initialiser,将您的NSDecimalNumber转换为将包含其值或为Int?
的{{1}}不能用nil
来表示。
Int