今天 , 遇到一个问题, 那就是关于一个丢失精度的问题: 这是一个悲伤的故事.
- 场景一
为了写好一个界面,使用了代码布局适配各种屏幕,利用物理屏幕和当前设备的宽高比例来进行计算,
这也是一种实现手段.
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",是用来专门处理一些精准数据的计算的.
因为只在项目中遇到过一次,这里也不进行相关的獒述,下面是我参考的博客,网上也有很多类似的相关用法的介绍
网友评论