Liczby skrajne - wartości testowe

Liczby na granicach swoich typów, w obcych zapisach i tam, gdzie kończy się precyzja. 12 wartości, każda z tym, co psuje, i z tym, co zamiast tego robi poprawna aplikacja.

numbers-extreme wersja 1.0, aktualizacja 2026-09-24 CC-BY-4.0

Wpisuj je po jednej skrótem AltShiftN w palecie albo weź wszystkie do skryptu poleceniem nkb emit numbers-extreme.

Największa bezpieczna liczba całkowita JavaScriptu plus jeden

numbers-extreme/js-safe-plus-one
9007199254740992 9007199254740992
  • 16 grafemów
  • 16 punktów kodowych
  • 16 bajtów
  • 16 jednostek UTF-16
Co psuje
Powyżej tej wartości przeglądarki i wiele interfejsów przestaje dokładnie przedstawiać liczby całkowite, więc identyfikator zwrócony przez serwer nie zgadza się z tym, co widzi użytkownik.
Co robi poprawna aplikacja
Obsługiwana jako tekst tam, gdzie liczy się dokładność, albo odrzucana z podanym limitem.

Maksimum liczby 32-bitowej plus jeden

numbers-extreme/int32-max-plus-one
2147483648 2147483648
  • 10 grafemów
  • 10 punktów kodowych
  • 10 bajtów
  • 10 jednostek UTF-16
Co psuje
Jeden ponad najczęstszy limit liczb całkowitych - tu liczniki, identyfikatory i ilości przekręcają się na liczbę ujemną.
Co robi poprawna aplikacja
Odrzucone z komunikatem albo konsekwentnie obsłużone szerszym typem.

Maksimum liczby 32-bitowej

numbers-extreme/int32-max
2147483647 2147483647
  • 10 grafemów
  • 10 punktów kodowych
  • 10 bajtów
  • 10 jednostek UTF-16
Co psuje
Sama granica: przyjęcie tutaj i błąd o jeden wyżej to różnica między poprawnym limitem a przypadkiem.
Co robi poprawna aplikacja
Przyjęte tam, gdzie limit na to pozwala.

Minus jeden

numbers-extreme/minus-one
-1 -1
  • 2 grafemy
  • 2 punkty kodowe
  • 2 bajty
  • 2 jednostki UTF-16
Co psuje
Pola ilości, ceny i liczby sztuk, które nigdy nie spodziewały się wartości ujemnej. Często ją przyjmują, a wychodzi to dopiero przy fakturowaniu.
Co robi poprawna aplikacja
Odrzucony wszędzie tam, gdzie wartość ujemna nie ma sensu, z komunikatem, który to mówi.

Zero

numbers-extreme/zero
0 0
  • 1 grafem
  • 1 punkt kodowy
  • 1 bajt
  • 1 jednostka UTF-16
Co psuje
Odróżnienie „zera” od „niewypełnionego” to jedna z najczęściej mylonych granic w formularzach.
Co robi poprawna aplikacja
Zapisane jako zero i wyświetlane jako zero, nigdy jako puste pole.

Przecinek jako separator dziesiętny

numbers-extreme/comma-decimal
3,14 3,14
  • 4 grafemy
  • 4 punkty kodowe
  • 4 bajty
  • 4 jednostki UTF-16
Co psuje
Separator dziesiętny używany w większości Europy. Parsery oczekujące kropki czytają go jako separator tysięcy albo go odrzucają.
Co robi poprawna aplikacja
Przyjęty w ustawieniach regionalnych, które go używają, albo odrzucony z komunikatem, który podaje oczekiwany format.

Spacje między tysiącami

numbers-extreme/thousands-space
1000000 1 000 000
  • 9 grafemów
  • 9 punktów kodowych
  • 9 bajtów
  • 9 jednostek UTF-16
Co psuje
Liczba skopiowana z raportu przynosi ze sobą separatory grup cyfr, a większość parserów liczb jej odmawia.
Co robi poprawna aplikacja
Separatory usunięte przed parsowaniem albo komunikat, który wyjaśnia oczekiwany format.

Zapis wykładniczy

numbers-extreme/exp-notation
1e10 1e10
  • 4 grafemy
  • 4 punkty kodowe
  • 4 bajty
  • 4 jednostki UTF-16
Co psuje
Eksporty z arkuszy kalkulacyjnych zapisują tak duże liczby, więc ta postać trafia do pól, które się jej nie spodziewały.
Co robi poprawna aplikacja
Przyjęty i rozwinięty albo odrzucony - nigdy nie odczytany jako cyfra 1.

Zera wiodące

numbers-extreme/leading-zeros
007 007
  • 3 grafemy
  • 3 punkty kodowe
  • 3 bajty
  • 3 jednostki UTF-16
Co psuje
Kody, numery pokoi i numery artykułów tracą zera wiodące w chwili, gdy ktoś potraktuje je jako liczby.
Co robi poprawna aplikacja
Zachowane tam, gdzie wartość jest kodem, a nie ilością.

Typograficzny znak minus

numbers-extreme/minus-typographic
−1234 −1234
  • 5 grafemów
  • 5 punktów kodowych
  • 7 bajtów
  • 5 jednostek UTF-16
Co psuje
Typograficzny znak minus wygląda identycznie jak minus z ASCII i odrzuca go każdy parser liczb.
Co robi poprawna aplikacja
Ujednolicony przed parsowaniem albo odrzucony z komunikatem, który nazywa ten znak.

50 cyfr

numbers-extreme/fifty-digits
50 × 9
  • 50 grafemów
  • 50 punktów kodowych
  • 50 bajtów
  • 50 jednostek UTF-16
Co psuje
Liczba szersza niż jakikolwiek typ liczbowy. Zwykle kończy się przepełnieniem albo surowym błędem zamiast komunikatu.
Co robi poprawna aplikacja
Czytelny komunikat zamiast strony z błędem.

Znak plus przed liczbą

numbers-extreme/plus-prefixed
+5 +5
  • 2 grafemy
  • 2 punkty kodowe
  • 2 bajty
  • 2 jednostki UTF-16
Co psuje
Jawnie dodatnia liczba, poprawna w większości zapisów i odrzucana przez wiele prostych walidatorów.
Co robi poprawna aplikacja
Przyjęty i znormalizowany albo odrzucony z podanym formatem.