【发布时间】:2019-01-07 12:20:18
【问题描述】:
我在我的代码中发现了一个由 NSDecimalNumber.notANumber.intValue 返回 9 引起的错误,而我预计 NaN(如 floatValue 或 doubleValue 返回)。有人知道为什么吗?
【问题讨论】:
-
没有代表NaN的整数值。
-
@MartinR 有这个
9与Int64(9223372036854775807) 的最大值有关吗? -
@RobertDresler 绝对不是。我猜这与
NaN表示的二进制值有关。 -
根据 Apple 文档“如果您使用无法保存该值的类型向 NSNumber 对象询问其值,您会得到错误的结果”,可能是这样吗?
-
@JoakimDanielson 这很有意义,对于
Int32它是-2147483648。但是,为什么不用-9223372036854775808代替Int64而不是9?
标签: ios swift foundation nsdecimalnumber