| Termin | Definicja |
|---|---|
| brak standaryzacji formatów liczb | Brak standaryzacji formatów liczb to usterka utrudniająca spójną prezentację wartości liczbowych, np. cen, w różnych regionach. Brak standaryzacji formatów liczb – czym jest ten problemBrak standaryzacji formatów liczb oznacza sytuację, w której ta sama wartość jest zapisywana, odczytywana albo prezentowana w różny sposób zależnie od programu, ustawień językowych, regionu lub źródła danych. Problem może dotyczyć przecinka i kropki używanych jako separator części dziesiętnej, sposobu oddzielania grup tysięcy, zapisu wartości ujemnych, symboli walut, procentów, dat przedstawianych jako liczby, a także zer znajdujących się na początku ciągu. Sam zapis może wyglądać poprawnie dla osoby pracującej w jednym środowisku, lecz po otwarciu pliku na innym komputerze albo po zaimportowaniu danych do kolejnego programu może zmienić znaczenie. W polskich ustawieniach często spotyka się przecinek jako separator dziesiętny, natomiast wiele aplikacji, bibliotek programistycznych i formatów wymiany danych wykorzystuje kropkę. Wartość 12,50 może zostać potraktowana jako liczba dwanaście i pół, jako tekst albo jako zapis niepoprawny. W innym systemie zapis 1.234 może oznaczać tysiąc dwieście trzydzieści cztery, a nie jeden i dwieście trzydzieści cztery tysięczne. Jeżeli reguły nie zostaną określone, dane zaczynają zależeć od kontekstu, którego użytkownik może nie znać. Nie jest to wyłącznie problem estetyki interfejsu. Niespójność może wpływać na sortowanie, filtrowanie, obliczenia, import i eksport plików, działanie formularzy oraz odczyt raportów. Liczba zapisana jako tekst może być ustawiana alfabetycznie zamiast według wartości, a poprawnie wyglądający zapis może zostać zaokrąglony lub obcięty podczas konwersji. W praktyce rozpoznanie problemu wymaga sprawdzenia nie tylko ekranu, lecz również źródła danych i sposobu ich interpretacji. Brak standaryzacji formatów liczb w systemach i plikachNajczęstsze różnice wynikają z lokalizacji, czyli zestawu ustawień określających język, region, format liczb, walutę i sposób zapisu dat. Program może automatycznie przyjąć ustawienia systemu operacyjnego, ustawienia przeglądarki albo własne parametry zapisane w konfiguracji. Dwa komputery mogą więc otwierać ten sam plik z odmiennym rezultatem, mimo że użytkownicy wykonują te same czynności. Szczególne znaczenie ma to przy arkuszach kalkulacyjnych, formularzach internetowych, systemach księgowych, raportach oraz aplikacjach pobierających dane z zewnętrznych źródeł. W plikach tekstowych wartości są często rozdzielane przecinkami, średnikami albo tabulatorami. Jeżeli przecinek pełni jednocześnie funkcję separatora kolumn i separatora dziesiętnego, jednoznaczne odczytanie zawartości staje się trudne bez dodatkowych reguł. Format CSV nie gwarantuje sam przez się jednej konwencji zapisu liczb, dlatego przy wymianie danych powinno się określić kodowanie, separator pól, separator dziesiętny, sposób zapisu wartości pustych oraz reguły dla liczb ujemnych. W środowiskach programistycznych często przyjmuje się kropkę jako separator dziesiętny, ponieważ ułatwia to wymianę danych pomiędzy różnymi systemami. Interfejs użytkownika może jednak wyświetlać tę samą wartość z przecinkiem. Konieczne jest wtedy oddzielenie formatu wewnętrznego od formatu prezentacji. Dane przechowywane w sposób jednoznaczny mogą być dopiero na końcu przekształcane do zapisu przyjaznego dla konkretnego regionu. Mieszanie tych dwóch warstw prowadzi do sytuacji, w której liczba zmienia się już podczas wprowadzania lub eksportu. Warto odróżnić format liczby od jej znaczenia. Zapis 00125 może być liczbą 125, kodem produktu, numerem ewidencyjnym albo identyfikatorem, w którym zera początkowe są istotne. Automatyczna konwersja do typu liczbowego usunie te zera i uszkodzi informację, nawet jeśli inne wartości w tej samej kolumnie pozostaną bez zmian. Z tego powodu przed importem powinno się ustalić, które pola są obliczeniowe, a które są tekstowymi identyfikatorami. Brak standaryzacji formatów liczb a typowe objawyObjawy mogą pojawić się nagle po aktualizacji programu, zmianie profilu użytkownika, otwarciu dokumentu na innym urządzeniu albo pobraniu danych z nowej usługi. W arkuszu część wartości może być wyrównana do lewej, a część do prawej, ponieważ jedne komórki zawierają tekst, a inne liczby. Formuły mogą zwracać błąd, ignorować wybrane rekordy lub obliczać wynik tylko dla fragmentu kolumny. Sortowanie może umieścić 100 przed 20, jeżeli wartości są porównywane jako ciągi znaków. Innym sygnałem jest znikanie separatorów, pojawianie się dodatkowych zer albo zmiana liczby miejsc po przecinku. Podczas kopiowania danych z przeglądarki może zostać przejęty znak spacji nierozdzielającej, a przy imporcie z pliku może zostać pominięty znak minus. Wartości procentowe bywają interpretowane jako liczby całkowite albo jako ułamki, zależnie od sposobu zapisu i oczekiwań programu. Podobne nieporozumienia dotyczą jednostek, gdy jedna kolumna zawiera milimetry, a inna centymetry, choć obie są prezentowane jako zwykłe liczby. Problematyczne bywają także liczby bardzo duże i bardzo małe. Niektóre programy pokazują je w notacji naukowej, inne skracają wynik do określonej liczby cyfr, a jeszcze inne przechowują je z ograniczoną precyzją. Przy wartościach finansowych może dojść do różnicy między wartością wyświetlaną a wartością używaną w obliczeniu. Zaokrąglenie wykonane na etapie prezentacji nie zawsze jest tym samym co zaokrąglenie zapisane w danych. Jeżeli problem występuje tylko w jednym programie, prawdopodobna jest lokalna konfiguracja formatu, typ pola lub ustawienia importu. Jeżeli pojawia się w kilku aplikacjach, warto sprawdzić ustawienia regionalne systemu, sposób kodowania pliku, rozszerzenia przeglądarki oraz źródło danych. Dobrze jest zachować kopię oryginalnego pliku i nie nadpisywać go podczas pierwszych prób naprawy, ponieważ automatyczna konwersja może utrwalić nieprawidłowe wartości. Brak standaryzacji formatów liczb – praktyczne wskazówkiNajbezpieczniej rozpocząć od zdefiniowania jednej konwencji dla każdego rodzaju danych. Należy określić separator dziesiętny, sposób grupowania tysięcy, liczbę miejsc po przecinku, zapis wartości ujemnych, regułę dla zera, jednostkę oraz sposób oznaczania wartości pustych. Przy wymianie plików warto opisać te zasady w krótkiej instrukcji i stosować je zarówno przy eksporcie, jak i imporcie. Sama zmiana wyglądu komórek nie naprawi danych zapisanych jako tekst. W arkuszu kalkulacyjnym można sprawdzić typ komórki, zastosować jawne przekształcenie tekstu na liczbę i skontrolować rezultat na kilku przykładach. Nie powinno się używać globalnej zamiany przecinków na kropki bez wcześniejszego ustalenia, czy przecinek nie pełni funkcji separatora kolumn. Przy danych mieszanych trzeba rozdzielić rekordy, w których format jest poprawny, od tych wymagających ręcznej weryfikacji. W formularzach internetowych przydatne jest określenie, czy użytkownik ma wpisywać przecinek, kropkę czy oba znaki, a następnie ujednolicenie wartości po stronie aplikacji. Komunikat walidacyjny powinien wskazywać oczekiwany przykład, ale przykład nie może być jedyną dokumentacją reguły. W systemach przetwarzających dane dobrze jest przechowywać wartość w typie liczbowym, natomiast symbol waluty i sposób prezentacji ustalać dopiero na etapie wyświetlania lub generowania dokumentu. Przed wysłaniem pliku do innego użytkownika warto wykonać próbny import na kopii. Kontroli wymagają wartości z częścią dziesiętną, liczby ujemne, duże liczby, zera początkowe, pola puste oraz rekordy zawierające znaki odstępu. Dobrą praktyką jest również porównanie liczby rekordów przed i po konwersji oraz sprawdzenie sum kontrolnych dla wybranych kolumn. Takie działania pozwalają wykryć zmianę znaczenia danych, zanim trafią one do raportu albo dokumentu. Kiedy zgłosić brak standaryzacji formatów liczb do serwisuDo serwisu warto zgłosić problem, gdy różne programy pokazują odmienne wartości, import pliku kończy się błędem, arkusz przestaje wykonywać obliczenia albo ustawienia regionalne zmieniają się bez wyraźnej przyczyny. Weryfikacji może wymagać komputer, system operacyjny, pakiet biurowy, przeglądarka, sterowniki lub konkretna aplikacja. Istotne jest przygotowanie przykładowego pliku, opisu oczekiwanego wyniku oraz informacji, po jakiej czynności pojawiła się niezgodność. W Warszawskim Pogotowiu Komputerowym 24/7 można zlecić sprawdzenie konfiguracji i źródła problemu z prezentacją lub przetwarzaniem danych; naprawy z reguły są wykonywane do 3 dni roboczych. Przed przekazaniem urządzenia zaleca się wykonanie kopii ważnych dokumentów oraz usunięcie danych, które nie są potrzebne do diagnozy. Jeżeli trudność dotyczy jednego pliku, warto zachować jego oryginalną wersję, ponieważ może ona pomóc w odtworzeniu kolejnych etapów konwersji. Nie każda różnica zapisu oznacza uszkodzenie sprzętu. Często przyczyną jest niespójna lokalizacja, niejednoznaczny format pliku lub niewłaściwy typ pola. Jeżeli jednak objawy towarzyszą awariom programu, utracie ustawień, problemom z zapisem dokumentów albo niestabilnej pracy systemu, potrzebna jest szersza kontrola. Uporządkowanie formatu liczb powinno wtedy obejmować zarówno dane, jak i środowisko, w którym są one tworzone, przesyłane oraz odczytywane. |