C#中没有四舍五入,它采用的是四舍六入五成双,C#中的Math.Round和Unity中的Mathf.Round都是如此,想要实现四舍五入只能自己实现
四舍六入五成双:四舍五入时,如果小数位是5,那么编译器会自动识别这个小数的前后两个整数并返回那个偶数
例如10.5是10,11.5是12
二:代码实现
using UnityEngine; ////// 数学相关工具类 /// public static class MathUtils { ////// 四舍五入 /// /// digits:保留几位小数 public static float Round(float value, int digits = 1) { float multiple = Mathf.Pow(10, digits); float tempValue = value * multiple + 0.5f; tempValue = Mathf.FloorToInt(tempValue); return tempValue / multiple; } }



