formatowanie dziesiętne bez zaokrąglania .net

Wczoraj zapytałemto ogólne pytanie o ułamkach dziesiętnych i ich wewnętrznych dokładnościach. Oto konkretne pytanie dotyczące scenariusza, który próbuję rozwiązać.

Mam kolumnę w SqlServer, która jest wpisana - dziesiętna (18,6). Po pobraniu tych wartości tworzone dziesiętnie .net odpowiadają dokładności w bazie danych. Wyglądają tak:

1.100000
0.960000
0.939000
0.844400
0.912340

Muszę przedstawić (ToString) te wartości zgodnie z tymi zasadami:

Niezerowe są zawsze wyświetlane.Wyświetlane są końcowe zera na lub przed n-tym miejscem dziesiętnym.Końcowe zera po n-tym miejscu dziesiętnym nie są wyświetlane.

Tak właśnie chcę, gdy n wynosi 3:

1.100
0.960
0.939
0.8444
0.91234

Teraz napisałem jakiś kod, który ToString jest dziesiętny - usuwając wszystkie końcowe zera, a następnie analizuje ciąg szukając przecinka dziesiętnego i zlicza liczbę miejsc po przecinku, aby zobaczyć, ile końcowych zer trzeba dodać z powrotem.Czy jest lepszy sposób, aby to osiągnąć?

Wiem też, że powiedziałem ToString w powyższym pytaniu ... ale gdybym mógł zmodyfikować miejsca dziesiętne w drodze z mojej warstwy dostępu do danych, tak aby konsumenci zawsze otrzymywali dziesiętne z odpowiednią precyzją, byłoby to lepsze. Czy jest możliwe wykonanie tej operacji na samym dziesiętnym bez manipulacji ciągiem?

questionAnswers(3)

yourAnswerToTheQuestion