如何将NSDecimal值转换为NSInteger值?

don*_*ile 1 iphone

我有一种情况,我得到一个NSDecimal,我需要一个NSInteger.我知道它是一个非常小的值(这是绝对肯定的).它不会大于100.所以将它转换为NSInteger是完全没问题的,不会发生溢出.

怎么可以这样做?在NSDecimal中只有一个-doubleValue方法.

phe*_*cks 12

首先将其转换为NSDecimalNumber.NSDecimalNumber是NSNumber的子类,因此您可以使用所有NSNumber方法:

NSDecimalNumber *myNSDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:myNSDecimal];
NSInteger myInt = [myNSDecimalNumber intValue];
Run Code Online (Sandbox Code Playgroud)