Analog zu Math.Round übergibt man bei dieser Methode eine numerische Zahl mit der Anzahl der Stellen, die VOR dem Komma gerundet werden sollen. Um z.B. den nächsten Zehnerwert von 316 zu finden, übergibt man 1, für Hunderter 2 usw.
overround(316) // 316
overround(316, 1) // 320
overround(316, 2) // 300
overround(316, 3) // 0
overround(501, 0) // 501
overround(501, 1) // 500
overround(501, 2) // 500
overround(501, 3) // 1000
public static int overround(object input, int length = 0)
{
if (input is int | input is double | input is decimal | input is float)
{
double value = Convert.ToDouble(input);
int div = (int)Math.Pow(10, length);
return ((int)Math.Round(value / div, 0) * div);
}
throw new ArgumentException("Input is not numeric");
}
1 Kommentare zum Snippet