MC, 2025
Ilustracja do artykułu: JavaScript 2 decimal places? Oto najlepsze sposoby!

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 tekst
  • Math.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!

Imię:
Treść: