27. oktober 2008 - 21:42Der er
5 kommentarer og 1 løsning
Underlig beregningsfejl ved opdatering af RS
Hej Eksperter
Jeg har en pudseløjerlig problemstilling ... jeg er helt blank, så jeg håber, at nogle af jer har en løsningside. Det her er så mærkeligt, at jeg næsten er villig til at udlove en softice til vinderen.
Jeg har en side, hvor jeg er ved at lægge et flersprogsmodul ind. Det er en shop, hvor beløb så skal ændres til fx EUR ved engelsk. Omregningen sker så ved en simpel valutaomregning, som virker fint alle steder. Men når jeg skal indsætte min total i et record set (RS) sker der pludselig en kommafejl, så der kommer et par nuller for meget. Min total hedder sTotal og skal så ned i RS("belob") ... det gør jeg sådan her.
RS beregnes med variablerne sTotal og sprogKurs, hvilket så giver 4182. Men når jeg udskriver beregningen direkte får jeg det rigtige resultat ... nemlig 41,82.
Du må ikke have et komma i et beløb du skal regne videre på. Kun punktum: 41.82 eller hvis det er et stort beløb 7913423232.75 Generelt ved jeg ikke hvorfor du opbevarer et formatteret tal i databasen - brug formatnumber, når du skal skrive ud til brugeren.
hmmm ... sidder lige og tester uden Format.Number ... det ser sørme ud til, at du har ret. Det virker som om, databasen slet ikke vil acceptere kommatal. Det er vel egentlig det som er problemet ...!!!
Det virker i hvert tilfælde uden format.number ... og det er FEDT. Har brugt noget tid på det her. Smid et svar så beriger jeg dig med nogle point.
Jeg samler slet ikke på point, tak. Svar selv, accepter dit eget svar. Kommatal skal opbevares i databasens eget kommatal format (float/double ... eller hvad det hedder). Men hvis det er penge-tal, og databasen understøtter det, bør man bruge formatet DECIMAL med 2 decimaler.
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.