nemam vlastni zkusenost, ale napad: zkuste si pohrat s google kalkulackou, treba v tom vypozorujete mechanismus a treba vas bude k necemu inspirovat.
priklady: 1,5 * 2 = 3 1,50 * 2 = 3 1,500 * 2 = 3000 1.500 * 2 = 3 1.500,0 * 2 = 3000 me z toho takhle narychlo vychazi nasledujici: - pokud za oddelovacem nejsou tri cislice, pak se nebude jednat o oddelovac tisicu. - pokud se vyskytuji dva druhy oddelovace, pak posledni je desetinna carka - pokud za oddelovacem jsou tri cislice, je mozne preferovat tisice, pokud tomu nasvedcuje locale. zde je rovnez vhodne misto vybafnout na uzivatele s dialogem "nejsem si jisty, jsou to tisice nebo desetiny?" s checkboxem "pouzivat tento oddelovac stejnym zpusobem bez ptani" - pokud vstup nevyhovuje zadnemu rozumnemu formatu (napriklad 2,00,2,2), nesnazit se to nejak interpretovat ale oznamit chybovy stav mozna by to chelo jeste trochu domyslet, ale nakonec byste se mohl dobrat k uzivatelsky velmim privetivemu vysledku, ktery by uspokojil i tapika. a bez zbytecneho nastavovani :) samozrejme, pokud ma vstup nejake zavazne dusledky, tak je i pri sebechytrejsim algoritmu dobre zajistit, aby uzivatel vcas rozpoznal pripadnou chybnou interpretaci. pavel On 02/10/06, Koci, Jan (gedas CR) <[EMAIL PROTECTED]> wrote:
Ahoj, Resime problem se zadavanim cisel ve webove aplikaci. Vime zemi uzivatele a podle ni nastavujeme DecimalFormatSymbols - tedy pro české locale desetinnou carku. Problem ale nastava u nekterych uzivatelu, kteří si ve svých Windows zmeni nastaveni na oddelovac desetinnou tecku. Napadaji me pouze dve reseni 1. ziskat znak oddelovace tisicu a desetin z klienta (to ale nevim jak) 2. nechat vyse uvede oddelovace zadat uzivatele primo v aplikaci (nezarucuje, ze pri zmene systemoveho nastaveni uzivatel provede to same v aplikaci) Jak to resite vy? Diky, JK
