01. august 2003 - 23:14Der er
10 kommentarer og 1 løsning
Aflæsning af Windows decimaltegn
Hvordan aflæser man Windows decimaltegn?
Jeg har et felt på en form, hvor man kan indtaste et tal, men hvis Windows er sat til decimaltegn ',' og men indtaster fx. '73.12', så tolkes det som syvtusindtrehundrede tolv og det er jo ikke godt at gemme i en underliggende tabel.
Maaske er det mig der har misforstaaet det, men han har et indtastningsfelt hvori der skal skrives et tal. Han kan i det soerge for, at hvis brugeren skriver ,(eller . hvis det er det han vaelger), saa kan han advare om at tal skrives med .(eller ,) Paa den maade kommer der vel fin "harmoni" mellem bruger/program.
Det kan være han ikke ved hvordan den maskine hans program ender med at køre i vil fortolke tallet 1,2. I England vil dette tal nok opfattes som 12. Hán kunne selvfølgelig selv foretage omdannelsen af et "tekst-tal" til et tal, men det ville jo være rart at slippe for.
Jeg tror at have fundet en brugbar - omend ikke elegant - variant:
Opret Text1 på hovedformen og giv den værdien '1.2' og tjek udtrykket Round(Text1) = 1. Hvis dette er sandt (1=1), anvender maskinen '.' som decimaladskiller og hvis det er falsk (12=1), anvender maskinen ',' som adskiller. Feltet skjules med Text1.Visible = False.
Her er en anden variant, der benytter konvertering til typen Single: udsagnet CSng("1,2") < 2 er sandt med decimalkomma og falsk, hvis der benyttes decimalpunktum. Du behøver vel ikke at have et særligt skjult felt. Kan du ikke blot have en globalvariabel DecimalKomma af typen boolean, der initialiseres til at have værdien CSng("1,2") < 2 ?
Du har helt ret - det skjulte felt er helt overflødigt!! Tak for løsningen - jeg har bakset utrolig meget med at afdække en brugers evt. brug af forkert decimaladskiller, da man jo kan komme til at gemme helt vilde værdier, hvis man bruger '.' og flere decimaler.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.