zoukankan      html  css  js  c++  java
  • C# 小数点后保留两位小数,四舍五入的函数及使用方法

    1 Math.Round(45.367,2)     //Returns   45.37
    2 Math.Round(45.365,2)     //Returns   45.36

     C#中的Round()不是我们中国人理解的四舍五入,是老外的四舍五入,是符合IEEE标准的四舍五入,具体是四舍六入,下面的才是符合中国人理解的四舍五入

    1 Math.Round(45.367,2,MidpointRounding.AwayFromZero);     //Returns   45.37
     
    2 Math.Round(45.365,2,MidpointRounding.AwayFromZero);     //Returns   45.37   

    备注:根据网友在留言板反馈,传入的参数如果是double类型的,其实得到的结果还是不会四舍五入(double精度不够导致的)
    所以上面的更严谨的写法应该是:将传入的参数默认转换为decimal类型,确保其在四舍五入之前精度不会降下来。因为decimal精度高于double

    最终版:
    1 Math.Round(Convert.ToDecimal(45.367),2,MidpointRounding.AwayFromZero);     //Returns   45.37
     
    2 Math.Round(Convert.ToDecimal(45.365),2,MidpointRounding.AwayFromZero);     //Returns   45.37   

  • 相关阅读:
    一些前台技巧
    javascript中的面向对象
    vs.net 常用快捷键
    js和C#中的进制转换方法
    MFC中CDC相关图形,文本的一些使用方法(转)
    poj1505
    poj1401
    poj2533
    poj1504
    poj1384
  • 原文地址:https://www.cnblogs.com/xuliangxing/p/6585865.html
Copyright © 2011-2022 走看看