Avatar billede codesmurf Nybegynder
26. maj 2003 - 09:59 Der er 9 kommentarer og
2 løsninger

Mine floats er blevet til heltal

Hejsa

Jeg har et meget stort problem som jeg håber der er en venlig sjæl der kan hjælpe med.
Jeg sidder og udvikler i Borland C++ Builder 6 mod en Informix-database.
Indtil for nylig var der ingen problemer med at hente komma-tal op fra databasen men ligepludselig er det kun hel-tal jeg kan få fat i.
Med linien
dmSHS711->qChkStockFLL->FieldByName("st_qty")->AsFloat
fik jeg før f.eks. 19,95 ind i min variabel, men nu hvis jeg holder musen hen over "AsFloat" kan jeg se den kun har hentet 19 op, dvs. fjernet alt efter kommaet :(

Er det en option jeg har fået slået til i Borland eller hvad kan det skyldes?

På forhånd tak for hjælpen

/Jesper
Avatar billede chries Nybegynder
26. maj 2003 - 10:44 #1
prøv med 19.95 ?
Avatar billede codesmurf Nybegynder
26. maj 2003 - 10:48 #2
Øhhh.... ikke forstået. Det er jo et tal den henter fra databasen og den burde hente 19,95 (komma'et er borlands formatering når den har hentet doubles fra databasen). Jeg sætter 19.95 ind i databasen da komma automatisk bliver lavet til punktum ved at bruge .ToDouble()
Avatar billede segmose Nybegynder
26. maj 2003 - 16:03 #3
Du køre sikkert på en engelsk udgave af OS, eller har sat localisation til engelsk hvorved 19,95 selvfølgelig er er 19, da 19,95 på engelsk skrives 19.95???
Avatar billede codesmurf Nybegynder
27. maj 2003 - 11:23 #4
Jeg bruger sql's sum() funktion... i "Database Desktop"-programmet fungerer den fint og returnerer 19,95. I selve Borland C++ bliver ,95 fjernet... og jeg er sikker på at det først er noget den er begyndt på inden for de sidste 14 dage. Min localisation er Dansk, så der burde ikke være nogen konflikter dér.
Avatar billede segmose Nybegynder
27. maj 2003 - 11:51 #5
kan du vise det aktuelle kald med tilhørende erklæringer?

fx.
float noget;

noget = dmSHS711->qChkStockFLL->FieldByName("st_qty")->AsFloat();
Avatar billede codesmurf Nybegynder
27. maj 2003 - 11:58 #6
qChkStockFll:
SELECT sum(st_items) as st_items, sum(st_qty) as st_qty, st_unitprice 
FROM shsstock 
WHERE stock = :Stock 
GROUP BY st_unitprice 

double noget;
noget = dmSHS711->qChkStockFLL->FieldByName("st_qty")->AsFloat();

Har fundet ud af at hvis jeg laver et nyt projekt fra grunden og kører samme query så får den fat i det rigtige tal. Så umiddelbart er det en option jeg har fået sat et eller andet sted. Spørgsmålet er bare hvor, for jeg kan ikke huske jeg har gjort noget ud over det sædvanlige og jeg kan ikke lige umiddelbart finde hvor det skulle være :(
Avatar billede segmose Nybegynder
27. maj 2003 - 13:20 #7
??? har du specielle instillinger for informix pakken, så prøv at sammenlig dem for at finde forskellen mellem projectet og testen.
Avatar billede codesmurf Nybegynder
27. maj 2003 - 15:08 #8
Nevermind... blev så sur at jeg fjernede hele lortet og geninstallerede Borland. Nu virker det, så for fremtiden, hvis Borland ikke kan regne, så skal den bare geninstalleres... skod-produkt ;)
Lav et svar, så får du nogle point for besværet og ellers tak for hjælpen.
Avatar billede segmose Nybegynder
27. maj 2003 - 15:44 #9
Det er jeg ked af at høre, jeg har selv brugt borland i mange år og har ikke haft så mange problemer som med de andre jeg har forsøgt, måske fordi jeg kendte borland bedre.
Avatar billede codesmurf Nybegynder
27. maj 2003 - 17:40 #10
Det viser sig så at være QuickReport der er problemet. Når man har haft en QuickReport åben, så virker sum ikke mere. Meget underligt og der står ikke noget på deres egen hjemmeside om problemet. Nogen sidste idéer?
Avatar billede segmose Nybegynder
27. maj 2003 - 18:33 #11
Måske er der nogle flag på de der sum man kan sætte, uden overhovedet at kende QuickReport, som får dem til at tælle int ligesom på en iostream?
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