Round double value to 2 decimal places

前端 未结 12 1791
[愿得一人]
[愿得一人] 2020-11-29 18:15

I have a double value as 22.368511 I want to round it to 2 decimal places. i.e. it should return 22.37

How can I do that?

12条回答
  •  长情又很酷
    2020-11-29 19:05

    Use NSNumber *aNumber = [NSNumber numberWithDouble:number]; instead of NSNumber *aNumber = [NSNumber numberWithFloat:number];

    +(NSString *)roundToNearestValue:(double)number
    {
        NSNumber *aNumber = [NSNumber numberWithDouble:number];
    
        NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
        [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
        [numberFormatter setUsesGroupingSeparator:NO];
        [numberFormatter setMaximumFractionDigits:2];
        [numberFormatter setMinimumFractionDigits:0];
        NSString *string = [numberFormatter stringFromNumber:aNumber];        
        return string;
    }
    

提交回复
热议问题