Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Separator w liczbach - jaka elegancka strategia
Forum PHP.pl > Forum > PHP
athabus
Hej jako, że piszę głównie aplikacje do zastosowań wewnętrznych (tj. głównie usprawniające pracę wewnątrz mojej firmy), to nie mam na wiele rzeczy wyrobionych standardów.

Jedna z rzeczy, którą ciągle się zastanawiam czy robię dobrze jest kwestia formularzy, gdzie użytkownik podaje liczby dziesiętne. A dokładnie jak zrobić to elegancko.

Jak już pisałem, programuję głównei na własne potrzeby i mam pełną kontrole nad komputerami, na których potem aplikacje są wykorzysytwane. Są to głównei systemy usprawniające logistykę i magazynowanie towarów oraz automatyzujące pracę, więc do tej pory stosowałem bardzo proste rozwiązanie. Otóż po prostu do każdego pola, które mogło przechowywać wartości numeryczne dodawałem klasę "numeric" w css i odpowiednią formułkę w JS, która w locie w czasie wpisywania zmianiała , na .. To rozwiązanie ma tą zaletę, że taką liczbę można później łatwo obrabiać w JS czy w PHP. Ma oczywiście też wady - np. user bez uruchominego JS moze coś zepsuć, ale tak jak pisałem, akurat ja nie mam tego problemu bo nie pisze apliakcji publicznych.

Niemniej zastanawia mnie jak do tematu podchodzicie. Strategie jakie rozważałem:
- zmiana wartości w polu dopiero po stronie serwera (jako wstępne przetworzenie)
- zmiana ustawień lokalnych serwera na polski i wtedy zmiana formatu dopiero przed zapisem do bazy

Każde z tych wyjść wiąże się jednak z ciągłym zmienianiem formatów na wejściu i wyjściu - może są jakieś bardziej eleganckie rozwiazania, aby user miał wygodnie a i programista nie musiał cały czas zaminieniać . => , i odwrotnie?
nospor
Moze skrobnik klase z metodami:
CovertFromUser
ConvertToUser

i jedyne co programista bedzie musial pamietac to przepuszczac wartosci przez te metody
athabus
Ja akurat w Symfony mogę zastosować Hooki w polach formularzy, gdzie wartości mogę obrobić przed dalszym procesowaniem. Bardziej jednak miałem nadzieję, że jest jakieś automatyczne ustawienie serwera czy coś takiego, co po prostu rozwiązuje te kwestie. Myślałem też nad stworzeniem w ogóle pola numerycznego z automatycznymi filtrami. Tutaj zauważ, że jeszcze dochodzi kwestia konwersji na potrzeby JS - akurat często stosuje jakieś przeliczenia typu +Vat, dolicz marżę itp. I znów trzeba by w JS każde pole najpierw przekształcać na liczbę i potem z powrotem na string.

Zastanawiałem się tylko czy nie jest to wywarzanie otwartych drzwi i nie ma jekiegoś banalnego rozwiązania tej kwestii, które zwalnia programistę z dodawania za każdym razem tych samych formułek w kodzie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.