To jest krótki przewodnik jak zaokrąglić liczbę do 2 miejsc po przecinku używając JavaScript. W poniższym przykładzie przedstawię również alternatywę JavaScript dla funkcji number_format w PHP.
Spójrz na poniższą funkcję JavaScript:
/** * Custom JavaScript function that rounds a number w/ * decimal places. * * @param val - The value that you want to format with decimal places. * @param decimals - The number of decimal places that should be used. * @returns {float} */function number_format(val, decimals){ //Parse the value as a float value val = parseFloat(val); //Format the value w/ the specified number //of decimal places and return it. return val.toFixed(decimals);}
Nazwałem tę funkcję number_format, ponieważ jest to nazwa popularnej funkcji PHP, która wykonuje podobną operację.
Nasza niestandardowa funkcja przyjmuje dwa parametry:
- val: Liczba, którą chcemy zaokrąglić.
- decimals: Liczba miejsc po przecinku, do których liczba powinna zostać zaokrąglona.
Wewnątrz naszej funkcji, sparsowaliśmy zmienną val jako float za pomocą funkcji JavaScript’s parseFloat. Zrobiliśmy to, aby nasza funkcja mogła również obsługiwać zmienne typu string. Jeśli nie wykonasz parsowania zmiennej łańcuchowej przed użyciem metody toFixed(), Twój kod rzuci następującym Uncaught TypeError:
Uncaught TypeError: val.toFixed is not a function
Wynika to z faktu, że Number.prototype.toFixed() może być używana tylko ze zmiennymi Number, takimi jak float i integer.
Zauważ, że w przeciwieństwie do funkcji number_format PHP, ta funkcja nie dodaje separatorów tysięcy.
Możesz przetestować tę funkcję na poniższych przykładach:
console.log(number_format(2.333, 2)); //Result: 2.33console.log(number_format("9.01345", 2)); //Result: 9.01console.log(number_format(5, 2)); //Result: 5.00console.log(number_format("383.48910093", 4)); //Result: 383.4891console.log(number_format(33.92039, 1)); //Result: 33.9
Jak widać, funkcja ta może obsługiwać zarówno liczby jak i ciągi znaków:
- Byliśmy w stanie zaokrąglić zmienną float 2.333 do 2 miejsc po przecinku.
- Ciąg „9.01345” został zaokrąglony do 9.01.
- Liczba całkowita taka jak 5 stanie się „5.00”, z dwoma zerami dodanymi za miejscem po przecinku.
- Dla „383.48910093” zmieniliśmy drugi parametr na 4. To zaokrągliło liczbę do 4 miejsc po przecinku, dając w rezultacie 383.4891.
- W końcu zaokrągliliśmy 33.92039 do 1 miejsca po przecinku, dając w rezultacie 33.9.
Mam nadzieję, że powyższy kod okazał się przydatny!
Dziękuję za uwagę.