• C#中的取整函数


    先放百度的

    Math.Ceiling();向上取整
    
    Math.Ceiling()向上取整; d = 4.56789 string res = Math.Ceiling(Convert.ToDecimal(d)).ToString(); res=5
    Math.Floor()向下取整 ;string res = Math.Floor(Convert.ToDouble(d)).ToString(); es=4
    Math.Round是"就近舍入",当要舍入的是5时与"四舍五入"不同(取偶数),如:
    Math.Round(0.5,0)=0 
    
    floor 和 ceiling是math unit 里的函数,使用前要先 Uses Math。
    trunc 和 round 是system unit 里的函数,缺省就可以用。
    floor 直接往小的取,比如 floor(-123.55)=-124,floor(123.55)=123
    trunc 直接切下整数,比如 trunc(-123.55)=-123, floor(123.55)=123
    ceil 直接往大的取,比如 ceil(-123.55)=-123, ceil(123.55)=124
    round 计算四舍五入,比如 round(-123.55)=-124,round(123.55)=124 
    

      百度知道https://zhidao.baidu.com/question/91857578.html

    看了之后由于和其他的网页内容有个别地方好像不符,决定自己实验

    实验结果,其他几个没找到函数

    从表中可以看出int向0取整,或者说是提取整数部分

    Ceiling 向正无穷方向取整

    Floor 向负无穷方向取整

    Round四舍六入,对于5采取奇进偶不进(朝正无穷方向)

     如果有人会使用其他函数或者有什么意见,欢迎留言

    为了方便大家测试,留下测试代码

    double n;
                n = 3.4;
                Console.WriteLine($"测试数据为:{n}");
                Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}");
                Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}");
                Console.WriteLine($"Math.Round结果为:{Math.Round(n)}");
                Console.WriteLine($"强制int结果为:{(int)n}");
                //Console.WriteLine($"trunc:{Math.(n)}")
                n = 3.6;
                Console.WriteLine($"测试数据为:{n}");
                Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}");
                Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}");
                Console.WriteLine($"Math.Round结果为:{Math.Round(n)}");
                Console.WriteLine($"强制int结果为:{(int)n}");
    
                n = 3.5;
                Console.WriteLine($"测试数据为:{n}");
                Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}");
                Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}");
                Console.WriteLine($"Math.Round结果为:{Math.Round(n)}");
                Console.WriteLine($"强制int结果为:{(int)n}");
    
                n = 4.5;
                Console.WriteLine($"测试数据为:{n}");
                Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}");
                Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}");
                Console.WriteLine($"Math.Round结果为:{Math.Round(n)}");
                Console.WriteLine($"强制int结果为:{(int)n}");
    
                n = -3.4;
                Console.WriteLine($"测试数据为:{n}");
                Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}");
                Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}");
                Console.WriteLine($"Math.Round结果为:{Math.Round(n)}");
                Console.WriteLine($"强制int结果为:{(int)n}");
    
                n = -3.6;
                Console.WriteLine($"测试数据为:{n}");
                Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}");
                Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}");
                Console.WriteLine($"Math.Round结果为:{Math.Round(n)}");
                Console.WriteLine($"强制int结果为:{(int)n}");
    
                n = -3.5;
                Console.WriteLine($"测试数据为:{n}");
                Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}");
                Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}");
                Console.WriteLine($"Math.Round结果为:{Math.Round(n)}");
                Console.WriteLine($"强制int结果为:{(int)n}");
    
                n = -4.5;
                Console.WriteLine($"测试数据为:{n}");
                Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}");
                Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}");
                Console.WriteLine($"Math.Round结果为:{Math.Round(n)}");
                Console.WriteLine($"强制int结果为:{(int)n}");
    
                Console.ReadKey();

    当然大家也可以枚举值,然后使用foreach进行测试。

  • 相关阅读:
    .net log4dll的使用
    Myslq 5.7安装
    接口和抽象类有什么区别
    monkey测试
    JDK、Jmeter、Android环境变量配置
    聊天室
    tushrea知识笔记
    爬取图片
    python gui之tkinter事件处理
    ttk.Treeview
  • 原文地址:https://www.cnblogs.com/hgyzm/p/11847058.html
Copyright © 2020-2023  润新知