Liczba miejsc po przecinku w decimal

Pisząc kod odpowiedzialny za walidację liczb potrzebowałem sprawdzić ile miejsc po przecinku ma dany decimal. Użyłem rozwiązania może mało eleganckiego ale przynajmniej działającego:) :

decimal decimalNumber = 21.235;
int length = (decimalNumber % 1).ToString().Length - 2;

Reszta z dzielenia przez jeden zawsze zwraca to co jest po przecinku. Dla 21.235 będzie to 0.235. Zatem długość string’a minus dwa ( jeden dla przecinka, jeden dla zera) stanowi liczbę miejsc po przecinku.

Może komuś się to przyda w przyszłości :).

3 thoughts on “Liczba miejsc po przecinku w decimal”

  1. decimal decimalNumber = 0;
    Console.Write((decimalNumber % 1).ToString().Length – 2);

    Niespodzianka 😛

Leave a Reply

Your email address will not be published.