C# 小数点后保留XX小数,四舍五入的函数及使用方法
  ZcJgkb1g5qMe 2023年11月02日 119 0

   

void Start()
{				
				//C#中的Round()不是我们中国人理解的四舍五入,是老外的四舍五入,是符合IEEE标准的四舍五入,人家是四舍六入
        Debug.Log(Math.Round(56.566, 2)); //print 56.57
        Debug.Log(Math.Round(56.565, 2)); //print 56.56


        //下面的才是符合中国人理解的四舍五入
        //MidpointRounding.AwayFromZero => 舍入到最接近的数字的策略,当数字在两个数字之间的中间时,它将舍入到离零的最接近的数字。
        Debug.Log(Math.Round(56.566, 2, MidpointRounding.AwayFromZero));     //print   56.57
        Debug.Log(Math.Round(56.565, 2, MidpointRounding.AwayFromZero));     //print   56.57


        //如果传入的参数如果是double类型的,其实得到的结果还是不会四舍五入(double精度不够导致的)
        //最终写法:将传入的参数默认转换为decimal类型,确保其在四舍五入之前精度不会降下来。
        Debug.Log(Math.Round(Convert.ToDecimal(56.566), 2, MidpointRounding.AwayFromZero));     //print  56.57
        Debug.Log(Math.Round(Convert.ToDecimal(56.565), 2, MidpointRounding.AwayFromZero));     //print  56.57
}


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

ZcJgkb1g5qMe