zoukankan      html  css  js  c++  java
  • 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进行测试。

  • 相关阅读:
    运算符
    变量
    JSP EL表达式使用
    MySQL JDBC 连接数据库基本操作
    一个带标号的CSS文章列表写法
    CSS图片列表
    YUI3 CSS
    Ubuntu 13.10 64位 无法 安装 ia32-libs 解决办法
    [转]编译Android源代码常见错误解决办法
    js 复制对象
  • 原文地址:https://www.cnblogs.com/hgyzm/p/11847058.html
Copyright © 2011-2022 走看看