使用 fmod()实现 iOS金额自适应小数点

+ (NSString *)fommatMoney:(NSNumber *)money{

    // 判断是否null 若是赋值为0 防止崩溃

    if (([money isEqual:[NSNull null]] || money == nil)) {

        money = @0;

    }

    CGFloat f = money.floatValue;

    if (fmodf(f, 1)==0) {

        //余数无小数

        return [NSString stringWithFormat:@"¥%.0f",f];

    } else if (fmodf(f*10, 1)==0) {

       //money*10的情况下 余数为0。返回一位小数

        return [NSString stringWithFormat:@"¥%.1f",f];

    } else {

        //余数为2位及以上小数返回两位小数

        return [NSString stringWithFormat:@"¥%.2f",f];

    }

}

C 库函数 - fmod()

C 库函数double fmod(double x, double y)返回x除以y的余数。

x-- 代表分子的浮点值。

y-- 代表分母的浮点值。

该函数返回 x/y 的余数。

演示

- (void)viewDidLoad {
    [super viewDidLoad];
    CGFloat a, b;
    NSInteger c;
    a = 9.2;
    b = 10;
    c = 1;
    NSLog(@"%f/%ld的余数是%f\n",a,c, fmod(a, c));
    NSLog(@"%f/%ld的余数是%f\n",a,c, fmod(a*10, c));
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容