最終更新:
orika_ex_miyako 2021年05月24日(月) 20:20:44履歴
そのため自作されている方も多いと思いますが、四捨五入計算用のユーティリティクラスと計算メソッドの作成例を提示いたします。
四捨五入をしたい小数点の桁数を指定して計算できる点がポイントになります。
public class CalcUtility
{
/// <summary>
/// 指定した小数点の桁数になるように、1つ下の値を四捨五入した値を戻す
/// </summary>
/// <param name="value">計算する値</param>
/// <param name="digitsNum">残したい小数点の桁数(この1つ下の値を四捨五入する)</param>
/// <returns></returns>
public static float CalculateRoundHalfUp(float value, int digitsNum) {
return float.Parse(value.ToString("F" + digitsNum.ToString()));
}
}
第1引数には計算したい float 型の値を指定します。第2引数には四捨五入して残したい小数点の桁数を指定します。(四捨五入する桁数ではありません)
例えば、digitsNum の値が 2 である場合には小数点第3位を四捨五入して、第2位までを持つ値に変換するようになっています。
簡単な使用例です。
<その1>
float x = 0.5522f; int digitsNum = 3; x = CalcUtility.CalculateRoundHalfUp(x, digitsNum); Debug.Log(x);
<Console ビュー>
0.552
<その2>
float x = 0.42f;
float y = 0.45f
int digitsNum = 1;
if(CalcUtility.CalculateRoundHalfUp(x, digitsNum) >= 0.5f){
Debug.Log("x");
}
if(CalcUtility.CalculateRoundHalfUp(y, digitsNum) >= 0.5f){
Debug.Log("y");
}
<Console ビュー>
y
小数点の第2位を四捨五入して第1位の値にします。そのため、x = 0.4f、 y = 0.5f となりますので、
Console ビューには y が表示されます。




コメントをかく