iOS对 double内容的处理

if ([obj isKindOfClass:[NSNumber class]]) {

        // 防止 double 类型精度丢失,不用 -[NSNumber stringValue] 方法

        static NSNumberFormatter *numberFormatter;

        if (!numberFormatter) {

            numberFormatter = [[NSNumberFormatter alloc] init];

            [numberFormatter setUsesSignificantDigits: YES];

            [numberFormatter setGroupingSeparator:@""];

            [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];

            // long 类型最大值为 922 337 203 685 477 580 7,有 19 位

            [numberFormatter setMaximumSignificantDigits:19];

        }

        return [numberFormatter stringFromNumber:obj];

    }

你可能感兴趣的:(iOS)