Avatar billede thanse21 Nybegynder
05. september 2006 - 11:42 Der er 6 kommentarer og
1 løsning

SELECT af floats

Hej Eksperter,

Jeg har et problem med at selecte floats fra en tabel.
Tabellen har et felt af typen float, der kan antage værdierne 1, 1.25 og 0.8.
Når jeg prøver at selecte går det fint med 1 og 1.25. Men når jeg skal have fat i 0.8 får jeg i mit resultset værdien 0.8000000000004. Hvorfor det, og hvordan løser jeg det?
Avatar billede coderdk Praktikant
05. september 2006 - 11:49 #1
Sådan er det bare med floats, det er tilnærmelser - Måske kan du lave feltets precision om - Hvis du ikke har så mange decimaler efter kommaet kan du overveje at bruge money i stedet for float
Avatar billede coderdk Praktikant
05. september 2006 - 11:52 #2
(Decimal typen kunne du også overveje)
Avatar billede Slettet bruger
05. september 2006 - 12:17 #3
evt. prøv at lave en

select round(tallet,2) as tal1 from xxxxxxx
group by
tal1

det ser ud som om nogle af dine 0,8'ere indeholder mere på yderste decimaler?
Avatar billede arne_v Ekspert
05. september 2006 - 21:25 #4
decimal

round teknikken er ikke en generel løsning
Avatar billede thanse21 Nybegynder
06. september 2006 - 11:25 #5
Nå, det viste sig at det ikke har nogen indflydelse alligevel. Jeg bruger tallene i en asp.net applikation. Når tallene "kommer op" til applikationen er de korrekte.
Iøvrig var den ret ligeglad med "select round()".
Tak for svarene.

@arne_v: jeg mener jeg fik det samme med decimal, og det var derfor jeg prøvede med floats, kan det passe?
Avatar billede arne_v Ekspert
06. september 2006 - 16:08 #6
DECIMAL(12,2)

og brug af typen Decimal i din ASP.NET kode så får du kun 2 decimaler !

(jeg gætter på at du har hentet din database DECIMAL til en .NET Double)
Avatar billede thanse21 Nybegynder
05. juli 2012 - 09:22 #7
lukker
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
Computerworld tilbyder specialiserede kurser i database-management

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