Dezimalformatierung ohne Rundung .net

Gestern habe ich gefragtdiese allgemeine Frage über Dezimalstellen und ihre internen Präzisionen. Hier ist eine spezielle Frage zu dem Szenario, das ich ansprechen möchte.

Ich habe Spalte in SqlServer, die eingegeben wird - Dezimal (18,6). Wenn ich diese Werte abrufe, stimmen die erstellten .net-Dezimalstellen mit der Genauigkeit in der Datenbank überein. Sie sehen so aus:

1.100000
0.960000
0.939000
0.844400
0.912340

Ich muss diese Werte gemäß diesen Regeln präsentieren (ToString):

Nicht-Nullen werden immer angezeigt.Nachgestellte Nullen auf oder vor der n-ten Dezimalstelle werden angezeigt.Nachgestellte Nullen nach der n-ten Dezimalstelle werden nicht angezeigt.

Also, das ist, was ich will, wenn n 3 ist:

1.100
0.960
0.939
0.8444
0.91234

Jetzt habe ich einen Code geschrieben, in dem ToString die Dezimalstelle ist. Dabei werden alle nachgestellten Nullen entfernt. Anschließend wird die Zeichenfolge nach einem Dezimalpunkt durchsucht und die Anzahl der Dezimalstellen gezählt, um festzustellen, wie viele nachgestellte Nullen erneut hinzugefügt werden müssen.Gibt es einen besseren Weg, dies zu erreichen?

Ich weiß auch, dass ich in der obigen Frage ToString gesagt habe ... aber wenn ich die Dezimalstellen auf dem Weg aus meiner Datenzugriffsebene so ändern könnte, dass Verbraucher Dezimalstellen immer mit der richtigen Genauigkeit erhalten, wäre das besser. Ist es möglich, diese Operation auf der Dezimalstelle selbst ohne Manipulation von Zeichenfolgen auszuführen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage