iOS - 数值四舍五入问题

2018-05-16  本文已影响31人  li_礼光
/**
 初始化方法
 
 @param roundingMode 舍入方式
 @param scale 小数点后舍入值的位数。
 @param exact 精度错误处理;YES:如果出现错误,将引发异常,NO:忽略错误并将控制权放回给调用者。
 @param overflow 溢出错误处理;YES:如果出现错误,将引发异常,NO:忽略错误并将控制权放回给调用者。
 @param underflow 下溢错误处理;YES:如果出现错误,将引发异常,NO:忽略错误并将控制权放回给调用者。
 @param divideByZero 除以0的错误处理;YES:如果出现错误,将引发异常,NO:忽略错误并将控制权放回给调用者。
 @return NSDecimalNumberHandler对象
 */
  
   NSDecimalNumberHandler *hander = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundDown
                                                                                           scale:3
                                                                                raiseOnExactness:NO
                                                                                 raiseOnOverflow:NO
                                                                                raiseOnUnderflow:NO
                                                                             raiseOnDivideByZero:NO];
    
    
    NSDecimalNumber *num = [[NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%f",144.99999]] decimalNumberByDividingBy :[NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%f",100.0]]
                                                                                                                                withBehavior:hander];
    NSLog(@"num===%@",num);
    

打印结果 : num===1.449

NSRoundingMode的几种方式:

上一篇 下一篇

猜你喜欢

热点阅读