1

の問題に直面していNSDecimalNumberます。以下のようなコードがあります。

NSDecimalNumber *n1 = [NSDecimalNumber decimalNumberWithString: @"1e-80"];
NSDecimalNumber *n2 = [NSDecimalNumber decimalNumberWithString: @"1e-80"];
NSDecimalNumber *n3 = [n1 decimalNumberByMultiplyingBy: n2 withBehavior: [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode: NSRoundPlain
                                                                             scale: 127
                                                                  raiseOnExactness: TRUE
                                                                   raiseOnOverflow: TRUE
                                                                  raiseOnUnderflow: TRUE
                                                               raiseOnDivideByZero: TRUE]];
NSLog(@"result=%@", [n3 descriptionWithLocale: [NSLocale autoupdatingCurrentLocale]]);

上記のコードは結果1e+98を出力していますが、これは正しくありません。それはゼロであるべきです。ここで何が欠けていますか?

4

0 に答える 0