Kalkulator zaokrąglenia do n miejsc

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.

Dane

Wynik

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.

Jak to działa?

Jak liczy się 3,14159 do 2 miejsc
x3,14159
κ = ⌊k⌋2
toFixed(κ)„3,14”
wynik3,14

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⁻ᵏ.

Wzór

κ = 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).

Teoria, half-up i IEEE 754

Definicja

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.

Kontekst historyczny i pojęciowy

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.

Własności formalne

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.

Pełne wyprowadzenie

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ć.

Przypadki szczególne

κ = 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”).

Uwagi numeryczne

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⁻κ.

Pojęcia pokrewne i źródła

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.

Jak korzystać

  1. Wprowadź x, na przykład 3,14159, oraz k, na przykład 2.
  2. Kliknij Oblicz albo poczekaj na wynik na żywo. Na stronie widać 3,14.
  3. Sprawdź panel: wartość liczbową po zaokrągleniu, Δ, floor, ceil i trunc. Diagram osi zaznacza x i wynik na siatce 10⁻ᵏ.
  4. 2,5 i k = 0 dają 3. 1,005 i k = 2 dają 1,00 — efekt float, nie szkolne 1,01.
  5. Floor i ceil tego samego x liczysz na sąsiednich stronach; one nie biorą k.

Słownik symboli

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.

x
Liczba w polu „Liczba x”.
k / κ
Miejsca po przecinku; κ = max(0, ⌊k⌋) z pola „Liczba miejsc k”.
toFixed
Number.prototype.toFixed(κ) — napis z κ cyframi; wynik główny.
half-up / half-even
Szkolne „5 w górę” vs bankowe remisy do parzystej. Ta strona dokumentuje toFixed, nie obiecuje obu.

Przykłady

Przykład 1

  • x = 3,14159
  • k = 2

3,14

Ile wynosi 3,14159 do 2 miejsc? 3,14.

Przykład 2

  • x = 2,5
  • k = 0

3

Ile wynosi 2,5 do 0 miejsc? 3 (remis od zera).

Przykład 3

  • x = 1,005
  • k = 2

1,00

Ile wynosi 1,005 do 2 miejsc? 1,00 (float, nie szkolne 1,01).

Przykład 4

  • x = −1,5
  • k = 0

−2

Ile wynosi −1,5 do 0 miejsc? −2 (remis od zera).

Przykład 5

  • x = 1,25
  • k = 1

1,3

Ile wynosi 1,25 do 1 miejsca? 1,3 (nie half-even 1,2).

Przykład 6

  • x = 9,995
  • k = 2

9,99

Ile wynosi 9,995 do 2 miejsc? 9,99 (efekt float).

Powiązane kalkulatory

Najczęstsze pytania

Co oznacza zaokrąglenie do n miejsc po przecinku?

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”.

Jaki wzór i jaką regułę implementuje ta strona?

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.

Czym to się różni od floor, ceil i trunc?

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.

Co się dzieje, gdy k jest ujemne albo niecałkowite?

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).

Czy kalkulator obiecuje szkolne „5 w górę” albo zaokrąglenie bankowe?

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.

Dlaczego 1,005 przy dwóch miejscach daje 1,00, a nie 1,01?

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.

Dlaczego widać 1,00 zamiast 1?

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.

Czy przecinek w 3,14159 działa?

Tak. 3,14159 i 3,14159 przy k = 2 dają ten sam napis 3,14. Pole akceptuje zapis polski i amerykański.

Czy ustawienia waluty i jednostek w nagłówku strony wpływają na wynik?

Nie. Wynik zależy tylko od wprowadzonych x i k. Ustawienia waluty i jednostek w nagłówku strony nie wpływają na ten wynik.

Skąd biorą się definicje i źródła reguł zaokrąglania?

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.

Jak zaokrąglić liczbę do 2 miejsc po przecinku?

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.

Ile wynosi 3,14159 zaokrąglone do 2 miejsc?

3,14. To pierwszy przykład na stronie. Floor tej samej liczby to 3 — inny kalkulator.

Ile wynosi 2,5 zaokrąglone do liczby całkowitej?

3 przy k = 0. Remis od zera w toFixed; floor(2,5) = 2 leży na stronie części całkowitej.

Czy ujemne k zaokrągla do dziesiątek jak w Excelu?

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.

Czy to to samo co zaokrąglenie w górę (ceil)?

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.

Wynik to napis toFixed(k): dla x = 3,14159 i k = 2 wynosi 3,14; dla 1,005 i k = 2 wynosi 1,00 (wartość maszynowa, nie szkolne 1,01).

Źródła wiedzy

Reguły zaokrąglania i zachowanie toFixed pochodzą z uznanych źródeł.

Strona zaktualizowana 14 października 2026.