Math.Runde mit negativen parameter
ALLE,
Ich versuche zu konvertieren Borland C++ - code in C#.
In den alten code sehe ich Folgendes:
double a = RoundTo( b, -2 );
Blick auf Borland-Dokumentation sehe ich, dass RoundTo() akzeptieren sowohl positive als auch negative Parameter für die Präzision. Positiv bedeutet, dass rund 10^n, negativ - bis 10^-n.
Blick auf die C# - Dokumentation von Math.RoundTo() ich kann nicht finden, einen Verweis, ob Sie es akzeptieren werden negative zahlen für Präzision. Und alle Proben sind mit den positiven zahlen.
Was ist die richtige Art und Weise der Umwandlung der code in diesem Fall? Sollte ich einfach vergessen, über die Zeichen und schreiben:
double a = Math.Round( b, 2 );
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Math.Runde für Doppel in C# kann nicht akzeptieren, negative Werte für Ziffern (in der Tat ist es dokumentiert, dass sehr Seite zu werfen, wird eine ArgumentOutOfRangeException, wenn Ziffern ist kleiner als 0 oder größer als 15)
Der parameter ist im Falle der Mathematik.Runde, anstatt zu Fragen, für eine bestimmte Anzahl von Nachkommastellen, was bedeutet, das Zeichen der würde der parameter rückgängig gemacht werden, also in deinem Fall, ja,
wäre eine korrekte übersetzung von RoundTo mit -2 parameter.
RoundTo
- und C# -Round
tun banker ' s rounding standardmäßig, also nichts zu befürchten gibt.Ich bin mir nicht bewusst eine integrierte Lösung für die Art der Rundung, die Sie suchen, zu tun, aber das bedeutet nicht, gibt es nicht ein irgendwo. Eine schnelle Lösung wäre, um eine Methode zu erstellen oder sogar eine Erweiterung Methode, das zu tun, was Sie suchen:
Tat Sie es versuchen? Ich Tat es und bekam eine Ausnahme: