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位小数点,且不四舍五入