Przykład 1
- x = 3,14159
- k = 2
3,14
Ile wynosi 3,14159 do 2 miejsc? 3,14.
Wprowadź liczbę x oraz liczbę miejsc k. Kalkulator liczy Number(x.toFixed(max(0, ⌊k⌋))) i pokazuje napis z k cyframi po przecinku. 3,14159 przy k = 2 daje 3,14; 2,5 przy k = 0 daje 3; 1,005 przy k = 2 daje 1,00 (efekt float, nie szkolne 1,01). Wynik główny to napis z k cyframi, a nie floor, ceil ani trunc. Ujemne k nie zaokrągla tu do dziesiątek jak w Excelu — staje się 0.
Wprowadź x i k, na przykład 3,14159 i 2.
Wynik główny to napis toFixed(k). Ujemne k staje się 0. Floor i ceil tego samego x są w panelu tylko do porównania — bez parametru k.
Zaokrąglenie do n miejsc po przecinku skraca liczbę rzeczywistą x do ustalonej liczby cyfr ułamka. Przy x = 3,14159 i k = 2 wynik na stronie to napis 3,14. Kalkulator nie liczy floor ani ceil: zostawia ułamek o długości k.
Kalkulator zaokrągla x do κ = max(0, ⌊k⌋) miejsc po przecinku. Najpierw k jest ucięte w dół do całkowitej nieujemnej, potem Number.prototype.toFixed buduje napis z k cyframi, a Number odczytuje wartość liczbową. Wynik główny pokazuje napis toFixed, więc przy 1,005 i k = 2 widać 1,00, nawet gdy Number wynosi 1.
To nie jest obietnica szkolnego „5 w górę” na papierze ani bankowego round half to even (IEEE 754 roundTiesToEven). Remisy w toFixed zależą od przeglądarki; przykłady 2,5→3 oraz −1,5→−2 przy k = 0 pokazują zaokrąglenie remisu od zera. Osobno arytmetyka zmiennoprzecinkowa może przesunąć literał (1,005) poniżej matematycznej połowy, stąd 1,00 zamiast szkolnego 1,01.
Kalkulator korzysta z liczb, które wprowadzasz w polach zaokraglenie-do-n-miejsc-a (x) oraz zaokraglenie-do-n-miejsc-b (k). Przecinek i kropka są równoważne. Panel porównuje floor, ceil i trunc tego samego x — bez k.
Model matematyczny to standardowe zaokrąglenie dziesiętne do n miejsc funkcją zaokrąglającą przeglądarki (toFixed), osadzone w arytmetyce zmiennoprzecinkowej. Źródła: IEEE Std 754-2019; ECMA-262 Number.prototype.toFixed; Wikipedia Rounding.
Przykłady wzorcowe: 3,14159 i 2 → 3,14; 2,5 i 0 → 3; 1,005 i 2 → 1,00; −1,5 i 0 → −2; 1,25 i 1 → 1,3; 9,995 i 2 → 9,99. Diagram osi liczbowej zaznacza x oraz wartość zaokrągloną na siatce 10⁻ᵏ.
κ = max(0, ⌊k⌋), potem s = x.toFixed(κ), v = Number(s).
Wynik główny na stronie to napis s (dokładnie κ cyfr po kropce). Symbol x to pole „Liczba x”; symbol k to pole „Liczba miejsc k”.
Obliczenie: zaokrąglenie x do κ = max(0, ⌊k⌋) miejsc po przecinku. Model matematyczny: zaokrąglenie dziesiętne do n miejsc funkcją zaokrąglającą przeglądarki (toFixed) (arytmetyka zmiennoprzecinkowa + konwersja do napisu).
Zaokrąglenie liczby rzeczywistej x do k miejsc po przecinku oznacza wybór liczby postaci m · 10⁻ᵏ (m ∈ ℤ), która reprezentuje x z dokładnością do k cyfr ułamka. W zapisie dziesiętnym wynik ma dokładnie k cyfr po przecinku, gdy wyświetlamy napis o stałej szerokości — stąd 1,00 przy k = 2, a nie samo 1.
Na tej stronie definicja operacyjna jest związana z implementacją w przeglądarce: liczba jest zaokrąglana do κ = max(0, ⌊k⌋) miejsc po przecinku funkcją zaokrąglającą przeglądarki (toFixed), a wynik główny to zwrócony przez nią napis. Nie wprowadzamy drugiej, „papierowej” reguły obok silnika.
Zaokrąglenie do n miejsc nie jest tożsame z floor, ceil ani trunc. Te trzy funkcje zawsze zwracają całkowitą i nie przyjmują parametru k. Tu k jest drugim polem i pozostaje widoczne w napisie wyniku.
Potrzeba ograniczenia liczby cyfr jest starsza niż komputery: tablice logarytmów, rachunki handlowe i metrologia od dawna stosowały ustalone miejsca dziesiętne. We współczesnej arytmetyce komputerowej kluczowy jest standard IEEE 754 (obecnie IEEE Std 754-2019), który definiuje tryby zaokrąglania dla operacji zmiennoprzecinkowych, w tym domyślny roundTiesToEven (zaokrąglenie do parzystej przy remisie) dla wielu operacji binarnych.
Osobno istnieje rodzina reguł dziesiętnych opisywanych w podręcznikach i na Wikipedia — Rounding: round half up (szkolne „5 w górę”), round half away from zero, round half to even (banker’s), trunc/chop. JavaScript nie udostępnia tu przełącznika trybu zaokrąglania; funkcja toFixed jest zdefiniowana w specyfikacji języka i w praktyce przy remisie dla tej ścieżki zachowuje się jak zaokrąglenie od zera (2,5→„3”, −1,5→„−2”), o ile literał jest dokładnie reprezentowalny.
Pojęciowo warto rozdzielić trzy warstwy: (1) model matematyczny „najbliższa liczba z siatki 10⁻ᵏ”, (2) regułę remisu (half-up vs half-even), (3) reprezentację binarną arytmetyki zmiennoprzecinkowej, która może sprawić, że literał 1,005 nie leży dokładnie na połowie. Ta strona dokumentuje warstwę (3)+(toFixed), a nie fikcyjny dowód szkolny na papierze.
Dziedzina wejścia: skończone liczby zmiennoprzecinkowe. Parametr k jest sprowadzany do κ = max(0, ⌊k⌋) ∈ ℕ₀. Przeciwdziedzina napisu: zbiór napisów dziesiętnych o κ cyfrach ułamka (z dopuszczalnym znakiem minus).
Dla ustalonego κ funkcja r(x) = Number(x.toFixed(κ)) jest kawałkami stała względem siatki 10⁻κ, z punktami podziału zależnymi od reguły toFixed i od tego, jak x siedzi w arytmetyce zmiennoprzecinkowej. Nie jest to funkcja liniowa; nie zachowuje na ogół r(x+y) = r(x)+r(y).
Porównanie operatorów przy tym samym x: floor(x) ≤ x < floor(x)+1; trunc usuwa ułamek ku zeru; ceil zaokrągla w górę. Żaden z nich nie reprodukuje r(x) przy κ > 0, bo r(x) może mieć niezerową część ułamkową (np. 3,14).
Ujemne κ wejściowe nie otwiera zaokrąglenia do dziesiątek/setek na lewo od przecinka — strona celowo ucina je do zera, zgodnie ze wzorem strony.
Krok 1. Wczytaj x oraz k z pól formularza. Przecinek i kropka są równoważne. Oblicz κ = max(0, ⌊k⌋).
Krok 2. Wywołaj s = x.toFixed(κ). Specyfikacja ECMA-262 buduje napis dziesiętny z κ cyframi po kropce, zaokrąglając w razie potrzeby według reguł konwersji Number → decimal string.
Krok 3. Oblicz v = Number(s). To ta sama wartość, którą liczy kalkulator. Wyświetlenie primary używa s, więc zera końcowe (1,00) zostają widoczne.
Krok 4 (przykład π). x = 3,14159, κ = 2 → s = „3,14”, v = 3,14. Trzecia cyfra ułamka to 1 < 5, więc siatka 0,01 zatrzymuje się na 3,14.
Krok 5 (połowa). x = 2,5, κ = 0 → s = „3”. Remis przy całkowitej jest rozstrzygany od zera w typowych silnikach toFixed — zgodnie z obserwacją na żywo, nie z banker’s even.
Krok 6 (float). x = 1,005, κ = 2. W binary64 literał jest nieco mniejszy niż 1,005 dziesiętne, więc toFixed(2) daje „1,00”, a nie szkolne 1,01. Kalkulator pokazuje ten fakt zamiast go ukrywać.
κ = 0: wynik jest całkowity jako napis bez części ułamkowej (np. „3”). To nadal zaokrąglenie, nie floor: floor(2,5) = 2, a tu 2,5→3.
x całkowite: toFixed dopisuje zera ułamka przy κ > 0 (np. 5 przy κ = 2 → „5,00”).
x ujemne: znak zostaje; −1,5 przy κ = 0 → „−2”. Trunc(−1,5) = −1 — inna funkcja.
Bardzo duże |x|: gdy |x| przekracza zakres dokładnych całkowitych w arytmetyce zmiennoprzecinkowej (powyżej 2⁵³), toFixed operuje na już zniekształconej wartości maszynowej.
Przykłady na stronie: 3,14159→3,14; 2,5→3; 1,005→1,00; −1,5→−2; 1,25→1,3; 9,995→9,99 (kolejny efekt float przy „piątce”).
IEEE 754 rozróżnia tryby zaokrąglania dla operacji arytmetycznych; domyślny roundTiesToEven nie jest tożsamy z tym, co robi toFixed przy konwersji do napisu dziesiętnego. Mylenie tych dwóch warstw prowadzi do fałszywych oczekiwań „bankowych”.
Porównanie ze szkolnym half-up wymaga dokładnej reprezentacji dziesiętnej. Gdy wartość maszynowa leży poniżej połowy (1,005), half-up na papierze i toFixed w maszynie się rozjeżdżają — strona pokazuje maszynę.
Panel wyniku podaje Δ = v − x, oraz floor/ceil/trunc tego samego x. Kalkulator nie liczy zaokrąglenia do znaczących cyfr (significant figures) ani do wielokrotności innych niż 10⁻κ.
Pokrewne na witrynie: część całkowita (floor), zaokrąglenie w górę (ceil), część ułamkowa {x} = x − ⌊x⌋. Zaokrąglenie do najbliższej liczby całkowitej bez parametru k to osobny kalkulator.
Źródła IEEE Std 754-2019 — Floating-Point Arithmetic; ECMAScript® Language Specification — Number.prototype.toFixed; Wikipedia — Rounding; MDN — Number.prototype.toFixed. Narzędzie ma charakter edukacyjny.
Zaokrąglenie do n miejsc zostawia ułamek o długości k. 3,14159 przy k = 2 daje 3,14. Floor przy tym samym x dałoby 3.
3,14
Ile wynosi 3,14159 do 2 miejsc? 3,14.
3
Ile wynosi 2,5 do 0 miejsc? 3 (remis od zera).
1,00
Ile wynosi 1,005 do 2 miejsc? 1,00 (float, nie szkolne 1,01).
−2
Ile wynosi −1,5 do 0 miejsc? −2 (remis od zera).
1,3
Ile wynosi 1,25 do 1 miejsca? 1,3 (nie half-even 1,2).
9,99
Ile wynosi 9,995 do 2 miejsc? 9,99 (efekt float).
To skrócenie liczby x do dokładnie k cyfr po przecinku (albo do całkowitej przy k = 0). Kalkulator liczy Number(x.toFixed(max(0, ⌊k⌋))) i pokazuje napis toFixed z k cyframi, także z zerami, jak „1,00”.
Kalkulator zaokrągla x do κ = max(0, ⌊k⌋) miejsc po przecinku funkcją zaokrąglającą przeglądarki (toFixed). Nie jest to osobny „szkolny half-up na papierze” ani bankowe round half to even; reguła remisów wynika z Number.prototype.toFixed w ECMAScript oraz z binarnej reprezentacji IEEE 754.
Floor ⌊x⌋ zaokrągla do −∞, ceil ⌈x⌉ w górę, trunc ku zeru — wszystkie dają całkowitą i nie biorą k. Tu k zostaje w wyniku: przy k = 2 widać dwie cyfry ułamka, na przykład 3,14, a nie 3.
Kalkulator bierze max(0, ⌊k⌋). Ujemne k staje się 0 (zaokrąglenie do całkowitej). Wartość 2,9 daje k = 2. Pola ID to zaokraglenie-do-n-miejsc-a (x) oraz zaokraglenie-do-n-miejsc-b (k).
Nie. Szkolne half-up i banker’s round-half-even to inne modele. Tu obowiązuje toFixed przeglądarki: przy 2,5 i k = 0 wynik to „3”; przy −1,5 i k = 0 wynik to „−2” (remis od zera), a nie half-even.
Literał 1,005 nie jest w arytmetyce zmiennoprzecinkowej dokładnie równy 1 + 5/1000; leży nieco poniżej. Dlatego toFixed(2) zwraca „1,00”. To naturalny skutek arytmetyki zmiennoprzecinkowej, a nie osobna reguła kalkulatora.
Wynik główny to napis toFixed(k) z dokładnie k cyframi po kropce. Number(toFixed) może być 1, ale wyświetlenie zachowuje dwa zera przy k = 2.
Tak. 3,14159 i 3,14159 przy k = 2 dają ten sam napis 3,14. Pole akceptuje zapis polski i amerykański.
Nie. Wynik zależy tylko od wprowadzonych x i k. Ustawienia waluty i jednostek w nagłówku strony nie wpływają na ten wynik.
IEEE 754-2019 opisuje tryby zaokrąglania (w tym roundTiesToEven jako domyślny dla operacji binarnych). ECMAScript określa Number.prototype.toFixed. Wikipedia Rounding oraz podręczniki numeryczne rozróżniają half-up, half-even i trunc. Tu źródłem prawdy jest ścieżka toFixed w przeglądarce.
Wprowadź x oraz k = 2. Kalkulator zwraca napis toFixed(2), na przykład 3,14159 → 3,14. Reguła remisów to ścieżka przeglądarki, nie obietnica osobnego szkolnego half-up na papierze.
3,14. To pierwszy przykład na stronie. Floor tej samej liczby to 3 — inny kalkulator.
3 przy k = 0. Remis od zera w toFixed; floor(2,5) = 2 leży na stronie części całkowitej.
Nie. Tu ujemne k staje się 0 po max(0, ⌊k⌋), więc wynik dotyczy liczby całkowitej. Funkcja ZAOKR w Excelu z −1 albo −2 (dziesiątki, setki) nie jest modelem tej strony.
Nie. Ceil daje najmniejszą całkowitą ≥ x i nie bierze k. Tu wynik główny to napis z k cyframi po przecinku; ceil pojawia się tylko jako porównanie w panelu.
Reguły zaokrąglania i zachowanie toFixed pochodzą z uznanych źródeł.
Strona zaktualizowana 14 października 2026.