0
点赞
收藏
分享

微信扫一扫

C# 小数点后保留XX小数,四舍五入的函数及使用方法

   

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
}


举报

相关推荐

0 条评论