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
}