Unity中实现四舍五入

Posted Hello Bug.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity中实现四舍五入相关的知识,希望对你有一定的参考价值。

一:前言

C#中没有四舍五入,它采用的是四舍六入五成双,C#中的Math.Round和Unity中的Mathf.Round都是如此,想要实现四舍五入只能自己实现

四舍六入五成双:四舍五入时,如果小数位是5,那么编译器会自动识别这个小数的前后两个整数并返回那个偶数
例如10.5是10,11.5是12


二:代码实现

using UnityEngine;

/// <summary>
/// 数学相关工具类
/// </summary>
public static class MathUtils

    /// <summary>
    /// 四舍五入
    /// </summary>
    /// 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;
    

以上是关于Unity中实现四舍五入的主要内容,如果未能解决你的问题,请参考以下文章

unity工具类篇 Decimal保留n位小数点,且不四舍五入

unity工具类篇 Decimal保留n位小数点,且不四舍五入

在 Unity 中实现这种绘画式合成?

在离子中实现半星

需要帮助在 Unity 3D 中实现移动输入

在Unity中实现简单的伪时间同步