Ich habe Dezimalwert 18.8. Werte, die in dieser Variablen gespeichert sind, können beliebiger Art sein. Zum Beispiel kann es 1,0000000 oder 1,00004000 oder 5,00000008 sein. Ich möchte eine Methode schreiben, so dass ich dezimal übergeben kann und aufgerundete Zeichenfolge erhalten. Dies wäre kein Problem, wenn ich die Dezimalstellen kennen würde, die ich gerne bekommen würde. Aber was ich möchte, ist:Wie komme ich am besten zum Aufrunden von Dezimalzahlen in C#
Wenn es 1.0000000 ist, sollte es zurückgeben 1.
Wenn es 1.00004000 ist, sollte es 1.00004 zurückgeben.
Wenn es 5.00000008 ist, sollte es 5.00000008 zurückgeben. Also im Grunde sollte es alle 0, die hinter der letzten Ziffer diffrent sind, dann 0 finden und es abschneiden.
Wie soll ich es angehen? Was ist die beste Methode? Ich bekomme diesen Wert von SQL und setze ihn in dezimale Variable, aber dann möchte ich es anzeigen und 5.0000000 haben, wenn es als 5 angezeigt werden könnte, ist ein bisschen übertrieben für mich.
Ich hoffe, ich könnte ein paar nette Vorschläge bekommen.
Mit Grüßen,
MadBoy
Ich weiß nicht die Anzahl der Dezimalstellen, die ich brauche. Dies würde funktionieren, wenn ich wissen würde, dass ich es nach 3 Ziffern oder mehr abschneiden möchte. Aber ich möchte es nur abschneiden, wenn alle Ziffern Nullen nach dem letzten nicht Null sind. – MadBoy
Wenn Sie 1,00004000 haben, dann haben Sie nach ToString ("0. ####################") "1.00004". Apropos MAX von # Zeichen: es ist 28. Dezimal erlaubt maximal 28-29 von signifikanten Ziffern. Dies macht 1 für führende Null und 28 für andere Zeichen. Selbst wenn Sie wie 15555.98900008900 haben, wird es in Ordnung sein. – terR0Q
Danke, es funktioniert. Ich hätte es testen sollen, bevor ich bezweifle, dass es so funktioniert, wie du es gesagt hast. – MadBoy