iOS关于浮点数精度处理问题

场景: 在一个提款场景中,当用户点击提取所有的资金后,由于从后台传过来的值是例如:100.59999999,而我们的精度是获取小数点后两位,当直接使用[NSString stringWithFormat:@"%.2lf",money]时,截取到的字符是100.60,当用户点击确定提取时,我们拿到100.60 与 100.599999 进行验证则会导致输入提取金额一直比剩余金额大,在这种情况下我们需要使用floor(money*100)/100 去处理显示问题,这样会保证所显示和输入的金额一直比实际的金额小,从而避免这种情况。

iOS关于数值处理函数:

1. ceil(x)返回不小于x的最小整数值(然后转换为double型)。

2. floor(x)返回不大于x的最大整数值。

3. round(x)返回x的四舍五入整数值。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • 在编程中我们总要进行一些数学运算以及数字处理,尤其是浮点数的运算和处理,这篇文章主要介绍C语言下的数学库。而其他语...
    欧阳大哥2013阅读 5,347评论 0 12
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,345评论 0 5
  • 时间过得真快呀,转眼间一年又要过去了!记得去年的这个时间,我在玩耍,也可能在弹古筝! 而现在,我在写日...
    嘉凝阅读 282评论 0 2
  • 作者视频源:Netflix 编者按: 本篇是为我的儿子写的,Jeremy Lin是他的偶像,他还太小(两岁半),所...
    搭积木的人阅读 2,872评论 1 7