美文网首页
iOS浮点运算精度问题

iOS浮点运算精度问题

作者: 生命不止运动不息 | 来源:发表于2019-12-05 12:57 被阅读0次

无论是double还是float ,CPU位数都是有限的!
而浮点数,理论上是无限长的!
所以普通的浮点类型,进行运算就会出现精度问题。

解决方案:使用 NSDecimalNumber 类,替代double。

- (void)handleMinusBtn{
    
    UITextField *tf = self.amountView.itemView.inputView.textField;
    
    NSDecimalNumber *minNum = [NSDecimalNumber decimalNumberWithString:self.model.minAmount];
    
    NSDecimalNumber *currNum = [NSDecimalNumber decimalNumberWithString:tf.text];
    NSDecimalNumber *stepNum = [NSDecimalNumber decimalNumberWithString:[self getStepValueStr]];
    NSDecimalNumber *newNum = [currNum decimalNumberBySubtracting:stepNum];
    
    //若新值比最小值小,则直接展示最小值
    if( [newNum compare:minNum] == NSOrderedAscending ){
        newNum = minNum;
    }
    tf.text = newNum.stringValue;
}

相关文章

  • JavaScript 浮点运算精度问题

    JavaScript 浮点运算精度问题 JavaScript浮点运算存在精度问题,本文阐述问题的产生原因以及解决方...

  • iOS浮点运算精度问题

    无论是double还是float ,CPU位数都是有限的!而浮点数,理论上是无限长的!所以普通的浮点类型,进行运算...

  • 计算机组成原理:浮点精度运算不精确的原因

    为什么浮点精度运算会有问题 我们平常使用的编程语言大多都有一个问题——浮点型精度运算会不准确。比如 笔者在测试的时...

  • javaScript-02

    运算符 算数运算符 概念:算术运算使用的符号,用于执行两个变量或值的算术运算。 浮点数的精度问题浮点数值的最高精度...

  • iOS开发浮点数计算精度问题

    1、浮点数运算带来的问题 在日常工作中涉及到浮点数(float、double)的运算 2、浮点数运算精度的解决方案...

  • iOS 浮点数的精确计算和四舍五入问题

    iOS开发中,使用浮点数(float,double)类型运算需要注意计算精度的问题。即使只是两位小数,也会出现误差...

  • js浮点运算

    前言 在项目开发过程中发现浮点数的运算会出现精度问题,尤其是乘除运算。产生浮点数计算精度不准确的原因: 在计算机角...

  • 小问题整理

    1.iOS11数字精度问题 /*! @brief 修正浮点型精度丢失 @param str 传入接口取到的数据 @...

  • 为什么在 JavaScript 中,0.1+0.2 ! ==0.

    这里输出的结果是 false,说明两边不相等的,这是浮点运算的特点,也是很多同学疑惑的来源,浮点数运算的精度问题导...

  • Python3 - 数字的四舍五入

    问题 对浮点数执行指定精度的舍入运算。 解决方案 对于简单的舍入运算,使用内置的 round(value, ndi...

网友评论

      本文标题:iOS浮点运算精度问题

      本文链接:https://www.haomeiwen.com/subject/oledgctx.html