所以这里是代码:
NSDecimalNumber *test=[[NSDecimalNumber alloc] initWithInt:65];
number3=[[NSDecimalNumber one] decimalNumberByDividingBy:[[[NSDecimalNumber alloc] initWithInt:10] decimalNumberByRaisingToPower:test.integerValue]];
number3=[number3 decimalNumberByMultiplyingBy:number3];
我希望程序以下溢异常终止,但事实并非如此。此外,取一个 NSLog 会给 number3 一个巨大的数字。如果我将“test”更改为低于 64 的任何值,它会给出正确的输出(即 10^(-2*test))。有谁知道这里发生了什么?我的意思是,这很容易解决,但除非我遗漏了某些东西(这很有可能),否则这似乎是 NSDecimalNumber 类中的错误。