Hallo,
Ik heb het volgende statement
Waarde uit TBL_Prijzen is van het type FLOAT(8,53) en is dus gewoon een standaard float.
Enkele waardes in de database zijn:
1.25
2.75
10.99
12.99
11.99
56.95
0.99
0.99
etc...
De in vet gedrukte prijzen worden opgehaald met de SELECT, maar helaas geeft deze de volgende waardes terug:
1.25
2.75
11.99
56.950000000000003
Weet iemand hoe dit kan??
Om het geheel nog raarder te maken, wanneer ik dezelfde SELECT uitvoer, maar dan met ROUND(P.Waarde, 1), worden de volgende waardes terug gegeven.
1.3
2.7999999999999998
12.0
57.0
Wat heb ik al gedaan?
Wanneer deze SELECT in een VIEW wordt uitgevoerd gaat ie goed.
In een stored procedure (gegeven resultaten komen van de SP) geeft ie bovenstaande waardes terug.
Converteren van de waarde uit TBL_Prijzen naar bijvoorbeeld een VARCHAR zijn eigenlijk geen optie omdat je dan bij elke SELECT weer een CONVERT moet doen naar een FLOAT.
Wat ik nog niet heb uitgevoerd is om van het veld waarde in TBL_Prijzen een INT te maken en deze op te slaan*10 en bij het ophalen te delen door 10.
Niet helemaal een nette oplossing, dus vandaar ook mijn vraag hier.
Mbv google, GoT search, eXperts eXchange en de MSDN heb ik hier niet uit kunnen komen.
Alvast bedankt voor de hulp.
Ik heb het volgende statement
Transact-SQL:
1
2
3
| SELECT ROUND(P.Waarde, 2) FROM TBL_Prijzen P WHERE P.ProductenId = 24 |
Waarde uit TBL_Prijzen is van het type FLOAT(8,53) en is dus gewoon een standaard float.
Enkele waardes in de database zijn:
1.25
2.75
10.99
12.99
11.99
56.95
0.99
0.99
etc...
De in vet gedrukte prijzen worden opgehaald met de SELECT, maar helaas geeft deze de volgende waardes terug:
1.25
2.75
11.99
56.950000000000003
Weet iemand hoe dit kan??
Om het geheel nog raarder te maken, wanneer ik dezelfde SELECT uitvoer, maar dan met ROUND(P.Waarde, 1), worden de volgende waardes terug gegeven.
1.3
2.7999999999999998
12.0
57.0
Wat heb ik al gedaan?
Wanneer deze SELECT in een VIEW wordt uitgevoerd gaat ie goed.
In een stored procedure (gegeven resultaten komen van de SP) geeft ie bovenstaande waardes terug.
Converteren van de waarde uit TBL_Prijzen naar bijvoorbeeld een VARCHAR zijn eigenlijk geen optie omdat je dan bij elke SELECT weer een CONVERT moet doen naar een FLOAT.
Wat ik nog niet heb uitgevoerd is om van het veld waarde in TBL_Prijzen een INT te maken en deze op te slaan*10 en bij het ophalen te delen door 10.
Niet helemaal een nette oplossing, dus vandaar ook mijn vraag hier.
Mbv google, GoT search, eXperts eXchange en de MSDN heb ik hier niet uit kunnen komen.
Alvast bedankt voor de hulp.
| Life is a game (and games are fun) | homepage |