由于项目中很多东西要计算数字, java比Object-C坑爹多了, java有时候遇到算数异常会导致整个界面的数据都出不来, ios就没有此问题.
记录下各种情况下的除法运算的结果:
- 0/0 1/0 =>异常崩溃
java中禁止整数除以整数0, 这种情况一定会报异常崩溃
- 0.0f/0 0/0.0f 0.0f/0.0f =>NaN
必须为浮点的运算, 被除数为0或者0f, 并且除数为0或者0f, 结果都为NaN, 判断方法有Float.isNaN()这个来判断
- 1f/0 1f/0f 1/0f =>infinit无穷大
必须为浮点运算, 除数不为0, 被除数为0或者0f, 那么结果就为无穷大
在计算数据之前要先判断算数异常, 首先规避掉这种错误, 然后再在计算的过程中判断NaN或者无穷大的情况, 如果不在计算中判断,那就在取值的时候判断, 从单一职责模式来讲, 在计算的时候就处理是比较好的选择, 当然有时候是要对这些计算错误的情况做另外处理就按照自己项目的需求来