How can I limit a float to a defined amount of digits? Let's say I want a precision of 4, then it should be:
14.49193 -> 14.49
1.449193 -> 1.449
0.449193 -> 0.4492
0.000449193 -> 0.0004492
How can I limit a float to a defined amount of digits? Let's say I want a precision of 4, then it should be:
14.49193 -> 14.49
1.449193 -> 1.449
0.449193 -> 0.4492
0.000449193 -> 0.0004492
I resolved it with this method, there may be a smoother solution.
public static float LimitDigits(float val,int digits) {
if (val == 0) return 0;
return (float)((val<1.0)?Math.Round(val,digits+(int)Math.Floor(-(Math.Log10(val)))):Math.Round(val, Math.Max(0,digits-(int)Math.Floor((Math.Log10(val)+1)))));
}