Feedback

Kaufmännisch Runden auf 0.05 (Schweizer Norm)

Sprache: C#

[b]Runden auf 0.05[/b] (Schweizer Norm). Die Funktion ist als Erweiterungsmethode auf dem Typ Decimal implementiert. Für kaufmännische Anwendungen sollte man Fliesskomma-Typen wie Double vermeiden und immer mit Decimal arbeiten. Die Arbeitsweise der Funktion ist folgende: [b]0.325 ergibt 0.35[/b] [b]0.324 ergibt 0.30[/b] und funktioniert auch mit negativen Zahlen. Beispiel: [code]decimal d = 0.325; Console.Write(d.SwissCommercialRound())[/code] Ausgabe: [code]0.35[/code]
public static decimal SwissCommercialRound(this decimal input)
{
   return Math.Round(input * 20.0M, MidpointRounding.AwayFromZero) * 0.05M;
}
public static decimal SwissCommercialRound(this decimal input)
{
   return Math.Round(input * 20.0M, MidpointRounding.AwayFromZero) * 0.05M;
}

4 Kommentare