【发布时间】:2018-03-13 23:26:41
【问题描述】:
我有一个应用程序从 iOS 9 开始就在商店中。最近它刚刚因为舍入错误而崩溃。我正在使用 Xcode 版本 9.2 (9C40b)。我在 iOS 9 中编写了一段显示舍入工作的文本代码,但在 iOS 11 中没有。结果应四舍五入到小数点后 2 位。
NSDecimalNumberHandler* round = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain scale:2 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:YES];
NSDecimalNumber* myNumber = [NSDecimalNumber decimalNumberWithString:@"67.95999999999997"];
NSDecimalNumber* result = [myNumber decimalNumberByRoundingAccordingToBehavior:round];
NSLog(@"myNumber = %@", myNumber);
NSLog(@"rounding result = %@", result);
在 iOS 11 上:
我的号码 = 67.95999999999997 舍入结果 = 67.96000000000001
**在 iOS9 上 ** 我的号码 = 67.95999999999997 舍入结果 = 67.96
【问题讨论】: