iOS精确计算

作者: 就用帅气点的昵称吧 | 来源:发表于2021-03-31 18:21 被阅读0次

    直接上代码

            NSString *showNum = [NSString stringWithFormat:@"%@",hitCountNumber];//直接显示字符串即可          方法

    源码复制

    #pragma mark 精确计算

    + (nsdecimalnumber *)computationwithfirstnum:(nsstring *)firstnum//第一个计算参数 如:@"10000.0"

                            twonum:(nsstring *)twonum

                              type:(nsstring *)type// @"+",@"-",@"x",@"/"

                              scale:(int)scale//保留几位小数

    {

        //转化成nsdecimalnumber

        nsdecimalnumber *g_firstnum = [nsdecimalnumber decimalnumberwithstring:firstnum];

        nsdecimalnumber *g_twonum = [nsdecimalnumber decimalnumberwithstring:twonum];

        //精度

        /*

        nsroundplain:四舍五入

        nsrounddown:只舍不入

        nsroundup:只入不舍

        nsroundbankers: 在四舍五入的基础上加了一个判断:当最后一位为5的时候,只会舍入成偶数。比如:1.25不会返回1.3而是1.2,因为1.3不是偶数。

        */

        nsdecimalnumberhandler *roundup = [nsdecimalnumberhandler

                                          decimalnumberhandlerwithroundingmode:nsrounddown

                                          scale:scale

                                          raiseonexactness:no

                                          raiseonoverflow:no

                                          raiseonunderflow:no

                                          raiseondividebyzero:yes];

        nsdecimalnumber *computationnum;

        if ([type isequaltostring:@"/"]) {//两个数相除

            computationnum = [g_firstnum decimalnumberbydividingby:g_twonum withbehavior:roundup];

        }

        else if ([type isequaltostring:@"+"]){//两个数相+

            computationnum = [g_firstnum decimalnumberbyadding:g_twonum  withbehavior:roundup];

        }

        else if ([type isequaltostring:@"-"]){//两个数相-

            computationnum = [g_firstnum decimalnumberbysubtracting:g_twonum  withbehavior:roundup];

        }

        else if ([type isequaltostring:@"x"]){//两个数相x

            computationnum = [g_firstnum decimalnumberbymultiplyingby:g_twonum  withbehavior:roundup];

        }

        return computationnum;

    }

    参照相关文档

    相关文章

      网友评论

        本文标题:iOS精确计算

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