我正在使用NSNumberFormatter类将十进制数舍入为2位数字,并在舍入时选择较高的数字。
NSString *value = @"1054.705";
NSNumberFormatter *valueDouble = [[NSNumberFormatter alloc] init];
valueDouble.roundingMode = NSNumberFormatterRoundCeiling;
[valueDouble setMaximumFractionDigits:2];
NSNumber *myNumber = [valueDouble numberFromString:value];
Desired Output : 1054.71
Output Coming : 1054.705
因此,在这种情况下,最后一轮数字为0.705时应始终为0.71。
答案 0 :(得分:0)
您可以使用这种方法处理此类情况-检查第二个(或任何其他)分数位数是否为零,然后将其除以小数位数
if ((NSInteger)(myNumber.doubleValue * 100) % 10 == 0) {
myNumber = @(ceil(myNumber.doubleValue * 100) / 100);
}