Zaokrąglanie liczb z zadaną dokładnością |
Wpisany przez Patryk yarpo Jar | |||
czwartek, 11 lutego 2010 18:15 | |||
Jeśli chcemy w JS sprowadzić liczbę z częścią ułamkową do liczby całkowitej możemy wykorzystać statyczną metodę Math.round(liczba). Metoda ta przyjmuje jeden parametr, jest to liczba, która zostanie zaokrąglona wg prawideł matematycznych. Co jednak kiedy chcemy uzyskać zadaną liczbę miejsc po przecinku? Nie ma wprost metody zaokraglanie(liczba, n). Można jednak łatwo napisać funkcję, która to dla nas zrobi:
W wyniku otrzymamy kolejno: 12.34, 12.3, 12.3, 12, 12.345453534534.
UlepszeniaPowyższy kod działa. Jednak ma kilka wad:
Łata #1Wynik: 12.35, 12.34, 13, 12.345453534534
Łata #2
W ten sposób otrzymujemy całkiem solidany kawałek kodu. Nie waliduje się tu w żaden sposób danych. Często to niedopuszczalne. Pamiętaj jednak o zasadzie YANGNI ("You Are Not Gonna Need It"). Nie koduj na zapas, chyba że dla praktyki :) [ten artykuł miał pokazać zasadę, a nie dostarczać gotowca piorącego, sprzątającego i zmywającego po obiedzie]
|