Extensions
FloatExtensions.cs
using System;
namespace ACE.Common.Extensions
{
public static clast FloatExtensions
{
public static int Round(this float num, int decimalPlaces = 0)
{
return (int)Math.Round(num, decimalPlaces, MidpointRounding.AwayFromZero);
}
public static int Round(this double num, int decimalPlaces = 0)
{
return (int)Math.Round(num, decimalPlaces, MidpointRounding.AwayFromZero);
}
public static float Truncate(this float num, int decimalPlaces)
{
var multiplier = Math.Pow(10, decimalPlaces);
return (float)(Math.Truncate(num * multiplier) / multiplier);
}
public static bool EpsilonEquals(this float num, float val/*, int decimalPlaces = 4*/)
{
//var epsilon = 1.0f / Math.Pow(10, decimalPlaces);
var epsilon = 0.0001f;
return Math.Abs(num - val) < epsilon;
}
}
}