Avatar billede Slettet bruger
22. marts 2013 - 08:28 Der er 10 kommentarer og
1 løsning

Problem med afrunding af tal

Hej Alle.

Jeg har en problem med 2 tal som hentes fra db for når de efterfølgende redigeres og lægges sammen, afrunder koden talles således at hvor der burde stå 1500,80 bliver det til 1500.
Det er en access db og datatypen er sat til tal, dobbelte reelt tal med 2 decimaler.

koden ser sådan ud:

ny_total_pris = (Cint(request("pakke_pris")) + Cint(request("varer_pris")))

kan nogen hjælpe med koden, så jeg undgå den ufrivillige afrunding?

mvh. rwj
Avatar billede supertekst Ekspert
22. marts 2013 - 08:36 #1
Hvordan er ny_total_pris defineret?
Avatar billede erikjacobsen Ekspert
22. marts 2013 - 08:40 #2
Hvorfor står der CInt ?
Avatar billede arne_v Ekspert
23. marts 2013 - 02:24 #3
For at fjerne de 80 oere vel ...

:-)
Avatar billede Slettet bruger
25. marts 2013 - 10:54 #4
beklager jeg først reagerer nu, har ikke modtaget mail om, at der var kommet svar, og har først været inde på eksperten nu, sorry.

til supertekst: ny_total_pris er ikke defineret.

til eerikjacobsen: der står ikke andet det som jeg viste i mit startspørgsmål.

mvh. rwj
Avatar billede erikjacobsen Ekspert
25. marts 2013 - 10:56 #5
Jo, men, hvorfor bruger du funktionen CInt?
Avatar billede Slettet bruger
25. marts 2013 - 11:06 #6
hvis jeg gør sådan:

ny_total_pris = request("pakke_pris") + request("varer_pris")
og pakke_pris = 200

varer_pris=22948,48

får jeg dette resultat:

20022948,48

hvor posterne blot står ved siden af hinanden.
Ved at bruge Cint lægges tallene sammen, men afrunder i stedet for.
Avatar billede erikjacobsen Ekspert
25. marts 2013 - 11:12 #7
Ja. Men CInt betyder jo at lave et heltal ud af strengen. Derved forsvinder det efter kommaet.

Hvad med at prøve CDbl (Convert to double).

Dine indstillinger skal selvfølgelig være "danske", dvs at et komma opfattes som decimal separator, og ikke punktum, som de skøre amerikanere mener.
Avatar billede Slettet bruger
25. marts 2013 - 12:10 #8
Jeg har vist misforstået CInt:-)

Har prøvet dit forslag, og med lidt Replace efterfølgende pga. komma/punktum virker nu.

Så mange tak for hjælpen.

Smid et svar, hvis du vil have point, og fortsat god dag herfra.

mvh. rwj
Avatar billede erikjacobsen Ekspert
25. marts 2013 - 12:20 #9
Ingen point til mig, tak.

Nu fremgår det ikke klart, hvilken VB du anvender, men CInt og CDbl er at regne som antikviteter fra sidste årtusinde. Men hvis du ikke har adgang til andet, så kan de vel bruges.

Hvis det er VB.NET bør du i stedet bruge fx  http://msdn.microsoft.com/en-us/library/system.double.parse%28v=vs.110%29.aspx

h t t p://msdn.microsoft.com/en-us/library/system.double.parse(v=vs.110).aspx
Avatar billede erikjacobsen Ekspert
25. marts 2013 - 12:20 #10
Ok, så da. Det første link virker faktisk.
Avatar billede Slettet bruger
25. marts 2013 - 12:50 #11
Det er noget ældre VB jeg bruger, og det virker:-) Tak for linkene.
Jeg lukker spørgsmålet når du ikke vil have point.
mvh.rwj
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester