使用整数初始化NSNumber时,向NSNumber询问NSDe​​cimal值是否有效?

Ano*_*ser 1 iphone macos cocoa cocoa-touch

示例:我有一个NSInteger并将其包装到NSNumber对象中.现在我想要一个具有该NSInteger值的NSDecimal.

我可以问:

NSDecimal myDecimalFromMyInteger = [myNSNumberObject decimalValue];
Run Code Online (Sandbox Code Playgroud)

或者这在某种程度上有问题吗?或者我必须始终要求与用于创建NSNumber对象的完全相同的值吗?

Jos*_*zzi 7

这很好.来自文档:

"返回接收者的值,表示为NSDecimal结构....接收者的值,表示为NSDecimal结构.返回的值不保证精确到float和double值."

只要你意识到固有的精确含义,这是一个完全合法且理智的事情.