Nie każ mi myśleć (o przecinkach)

February 26, 2009 – 3:10 am

Tym razem króciutko o funkcjonalności – nie tylko stron internetowych ale także poważnych programów.

Wydawałoby się, prosta sprawa: kropka czy przecinek w liczbie. Coś, co jest niesamowicie banalne dla komputera, bo cóż to jest zamienić jeden znak na inny, powoduje uciążliwe kłopoty dla użytkowników. Wszystko za sprawą reguł lokalizacji: w krajach anglosaskich jako separator używana jest kropka (.), w Polsce zaś – przecinek (,). Nie byłoby tego posta gdyby nie sytuacje pokazane na obrazkach poniżej.

Błąd w Excelu:

Excel

Poniżej błąd w systemie transakcyjnym mBanku:

mbank

Co ciekawe, błąd zgłasza również OpenOffice Calc:

Calc

Nie potrafię sobie wyobrazić, dlaczego wszystkie te programy traktują kropkę (wpisywaną z przyzwyczajenia programisty) jako śmiertelny błąd. Przecież zarówno mBank jak i obaj specjaliści od arkuszy kalkulacyjnych spokojnie mogliby zamienić moją kropkę w swój przecinek. Nie widzę żadnego powodu dlaczego tak się nie dzieje. Czy to słynne “względy bezpieczeństwa” używane jako wytrych na każde niedopatrzenie?

Tags: , , ,

  1. 5 komentarzy do “Nie każ mi myśleć (o przecinkach)”

  2. Problem jest trochę bardziej skomplikowany, bo zarówno w Polsce jak i i Anglosasów używa się dwóch separatorów, tzn. i kropki i przecinka.

    Kłopot w tym, że działają one na odwrót, tzn.:

    10,500.50 to u anglosasów “dziesięć tysięcy pięćset i pół”, czyli to samo co u Polaków 10.500,50

    Komputer się nie będzie domyślał o co chodzi userowi. Liczby muszą być zapisywane jednoznacznie.

    Komentował: Tomek dnia: Mar 6, 2009

  3. Nie do końca się zgodzę. Wiadomo, że jeśli wpisuję w polską wersję OpenOffice 202.1 to chodziło mi o przecinek (separator dziesiętny). Wpisać 10.000 nie mogę – bo też system zgłosi błąd. Stąd – uważam zgłaszanie błędu za absurd, bo jest oczywiste, że kropka musiała być przecinkiem. Co innego w sytuacji, gdy mogę wpisywać kropki (jako separatory tysięcy).

    Komentował: Grzegorz dnia: Mar 6, 2009

  4. Witam. Ja przyznaję rację Tomkowi. Nie tak dawno temu była w mediach nagłośniona sprawa Allegro. Jakaś użytkowniczka chciała sprzedać auto za 25 tysięcy zł. i wpisała kwotę 25.000
    Skrypt sobie zamienił kropkę na przecinek i ktoś (korzystając z programu wyszukującego niskie ceny na kup teraz) kupił sobie autko za 25 zł.
    Potem się sądzili, ale nie pamiętam już z jakim efektem.

    Więc czasem kropka/przecinek ma znaczenie ;)

    Pozdrawiam.

    Komentował: Tank dnia: Mar 15, 2009

  5. Cieszę się, że wywiązała się taka dyskusja. Bardzo jestem ciekaw Waszego punktu widzenia.

    @Tank: skrypt, który zamieniłby 25.000 na 25,00 zł to zły skrypt – powinien reagować na potrójne miejsce po przecinku i ewentualnie wtedy dopytywać użytkownika.

    To co mi osobiście jeszcze przeszkadza to Google Docs po angielsku – przy przeklejaniu danych ze spreadsheeta gubiony jest właśnie przecinek – trzeba to ręcznie poprawiać.

    Swoją drogą, system mBanku jest jeszcze czuły na inne znaki – przeklejałem ostatnio dane z maila w egzotycznym kodowaniu – znaków nie było widać, ale system upominał mnie, żebym usunął wszelkie znaki specjalne.

    Komentował: Grzegorz dnia: Apr 1, 2009

  6. Swego czasu na allegro byl taki problem ze ktos kupil jeepa za 10 zl.
    Byl to blad sprzedajacego poniewaz allegro zamieniło mu 10.000 na 10 dlatego. Sprawa skończyła się w sądzie. W ramach tego przypadku skończyło się brakiem uznania transakcji za wiążącą.

    Komentował: qlek dnia: Jun 23, 2010

Skomentuj ten wpis.