如果有两位小数不为0则保留两位小数,如果有一位小数不为0则保留一位小数,否则保留整数

本文介绍了一种使用 Objective-C 进行数字格式化的实用方法。针对不同的数值大小,该方法能自动转换为合适的显示格式,如对于小于 1 万的数字直接显示,而超过 1 万的数字则转换为带“万”单位的格式,并根据小数点后的位数调整精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

+ (NSString*)stringFromNumber:(NSInteger)number{

    if (number<10000) {

        return [NSStringstringWithFormat:@"%ld",number];

    }else{

        NSString * numberStr   = [selfdecimalwithFormat:@"0.00"float:number/10000.00];

        float      numberFloat =  [numberStrfloatValue];

        if (fmodf(numberFloat,1)==0) {//如果没有小数点

            return [NSStringstringWithFormat:@"%.0f",numberFloat];

        } elseif (fmodf(numberFloat*10,1)==0) {//如果有一位小数点

            return [NSStringstringWithFormat:@"%.1f",numberFloat];

        } else {//如果有两位小数点

            return [NSStringstringWithFormat:@"%.2f",numberFloat];

        }

    }

}


+ (NSString *)decimalwithFormat:(NSString *)format  float:(float)float

{

    NSNumberFormatter *numberFormatter = [[NSNumberFormatteralloc] init];

    

    [numberFormatter setPositiveFormat:format];

    

    return  [numberFormatterstringFromNumber:[NSNumbernumberWithFloat:float]];

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值