丢失精度引发的感想

今天 , 遇到一个问题, 那就是关于一个丢失精度的问题: 这是一个悲伤的故事.

  • 场景一
为了写好一个界面,使用了代码布局适配各种屏幕,利用物理屏幕和当前设备的宽高比例来进行计算,
这也是一种实现手段.
CGFoat rate = KHeight / KWidth ;
 当前使用的是6s,物理屏幕的宽度是375.0个点
当前屏幕高度为: 
 currentScreenHeight = 375 *rate ;
  • 场景二
在详情页面里想要展示一个视频轮播的一个View ,这个view的宽高是按照
16:9的比例计算的 ,具体情况是这样的:

1. 距离两边距离15.0f
2. 高度的计算,按照物理屏幕与比例的关系计算
#error->  height = kwidth *(9/16);❌ 
#true -> height = kwidth *(9/16.0);✅
总的来讲,这个问题,属于代码习惯问题,
要是按照错误的来搞,这个view的高度为0,
所以加到了container里也看不见.所以,
养成一个良好的代码习惯是多么的重要,
至少能够从一定的程度上减少bug. 
  • 场景三
一般涉及到金钱,账目相关或者一些比较精准的数据计算时,我们不得不关注一下丢失精度这一概念:
 iOS里面引进了这样一个类"NSDecimalNumber",是用来专门处理一些精准数据的计算的. 
  因为只在项目中遇到过一次,这里也不进行相关的獒述,下面是我参考的博客,网上也有很多类似的相关用法的介绍
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容