Skrócenie zapisu liczby

0

Witam,

potrzebuję pomocy z obcięciem liczby do dwóch miejsc po przecinku, przykład:
6,0062325 chciałbym otrzymać 6,00
4,44853432 chciałbym otrzymać 4,44

typ zmiennej decimal.

próbowałem skorzystać z metody string.Format ale niestety liczba jest wraz zaokrąglana, czy jest jakiś na to sposób?
Rozwiązanie może być dla niektórych banalne, ale szukałem już dłuższy czas odpowiedzi na google i niestety nie udało mi się znaleźć rozwiązania i nic nie przychodzi mi do głowy, a trochę zależy mi na czasie.

pozdrawiam,
Paweł

0

Pewnie jest do tego jakaś metoda, ale tak na szybko możesz liczbę pomnożyć przez 100, wziąć podłogę (Math.Floor) i podzielić przez 100.

0

Dzięki za odpowiedź, to jest dobry pomysł, też trochę myślałem o takim rozwiązaniu, ale miałem nadzieję na jakąś gotową metodę, ale na razie zdecyduję się na takie rozwiązanie.

0
liczba = Decimal.Truncate(liczba*100)/100;
0

pierwsze przeładowanie metody Round - Round(decimal id, int decimals)
czy wy w ogóle czytacie podpowiedzi wyświetlane przez VS?

0

No właśnie nie. Tu nie chodzi o zaokrąglenie tylko o ucięcie. Przeczytaj uważnie temat. Też pomyślałem najpierw o Round. Round zaokrągli w górę.

0

Jeśli chodzi o zaokrąglanie podczas wyświetlania to użyj formatu "F" (fixed-point):

String.Format("{0:F2}", liczba)

lub

liczba.ToString("F2")

Pełny opis formatów:
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

//EDIT

Tu nie chodzi o zaokrąglenie tylko o ucięcie
Prawdopodobnie autorowi wsio rawno i tylko nieprecyzyjnie się wyraził.

//EDIT 2

Jeśli jednak chodzi o ucięcie:

String.Format("{0:F2}", liczba - 0.005)

1 użytkowników online, w tym zalogowanych: 0, gości: 1