JavaScript 2 decimal places? Oto najlepsze sposoby!
Zaokrąglanie liczb do dwóch miejsc po przecinku w JavaScript to częsty problem, szczególnie w aplikacjach finansowych, kalkulatorach i operacjach na walutach. Jeśli nie chcesz, aby Twoje wyniki wyglądały jak „2.4999999” zamiast „2.50”, ten artykuł jest dla Ciebie!
Dlaczego JavaScript zaokrągla liczby w dziwny sposób?
JavaScript używa do reprezentowania liczb standardu IEEE 754, który działa na liczbach zmiennoprzecinkowych. To oznacza, że niektóre liczby nie mogą być dokładnie zapisane w pamięci komputera, co prowadzi do dziwnych rezultatów, takich jak:
console.log(0.1 + 0.2); // Wynik: 0.30000000000000004
Brzmi znajomo? Na szczęście istnieją proste sposoby na poprawne formatowanie liczb!
JavaScript 2 decimal places – Przykłady najlepszych metod
1. Metoda toFixed()
Najprostszą metodą na uzyskanie liczby z dwoma miejscami po przecinku jest toFixed(). Zamienia liczbę na string, ale nie zmienia jej rzeczywistej wartości.
let liczba = 2.4567; console.log(liczba.toFixed(2)); // "2.46"
Minus? Wynik jest tekstem, więc jeśli potrzebujesz liczby, musisz ją przekonwertować:
let wynik = parseFloat(liczba.toFixed(2)); console.log(wynik); // 2.46
2. Metoda toPrecision()
Metoda toPrecision() ustala całkowitą liczbę cyfr w liczbie, wliczając całkowitą i dziesiętną część.
let liczba = 2.4567; console.log(liczba.toPrecision(3)); // "2.46"
Jest przydatna, jeśli chcesz kontrolować całkowitą precyzję liczby, ale dla dwóch miejsc po przecinku toFixed() jest bardziej intuicyjne.
3. Zaokrąglanie matematyczne (Math.round)
Chcesz dokładniejszego zaokrąglania? Możesz użyć Math.round(), mnożąc liczbę przez 100, a potem dzieląc przez 100:
let liczba = 2.4567; let zaokraglona = Math.round(liczba * 100) / 100; console.log(zaokraglona); // 2.46
Ta metoda działa dobrze, gdy nie chcesz zmieniać liczby na tekst.
4. Formatowanie walutowe z Intl.NumberFormat
Jeśli pracujesz z walutami, najlepiej skorzystać z Intl.NumberFormat, który pozwala na automatyczne formatowanie liczb zgodnie z danym regionem.
let liczba = 1234.567;
let formatDolar = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" });
console.log(formatDolar.format(liczba)); // "$1,234.57"
Dzięki tej metodzie możesz łatwo formatować liczby zgodnie z lokalnymi standardami.
5. Ostateczna funkcja do zaokrąglania liczb
Jeśli chcesz mieć uniwersalną funkcję do zaokrąglania liczb w JavaScript, oto gotowe rozwiązanie:
function zaokraglij(liczba, miejsca) {
return Math.round(liczba * Math.pow(10, miejsca)) / Math.pow(10, miejsca);
}
console.log(zaokraglij(2.4567, 2)); // 2.46
console.log(zaokraglij(5.6789, 2)); // 5.68
Podsumowanie
Zaokrąglanie liczb do dwóch miejsc po przecinku w JavaScript można wykonać na kilka sposobów:
toFixed(2)– proste, ale zwraca tekstMath.round()– dokładne i zwraca liczbęIntl.NumberFormat– idealne do walut
Wybór metody zależy od Twoich potrzeb. Jeśli pracujesz z liczbami w obliczeniach – używaj Math.round(). Jeśli wyświetlasz wartości użytkownikowi – toFixed() lub Intl.NumberFormat() będą najlepsze.
Teraz, gdy znasz różne sposoby na zaokrąglanie liczb w JavaScript, możesz uniknąć błędów obliczeniowych i prezentować wartości dokładnie tak, jak chcesz!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!