"Michael Sørensen" <.> writes:
> Hej.
>
> Hvad er reelt forskellen på datatyperne float og decimal i firebird. Jeg kan
> sagtens læse mig til det, øjnene kan sagtens se, hvad der står, problemet
> opstår, når der skal ske en aktivitet med at _forstå_ forskellen.
>
> Helt konkret drejer det sig om beløb i feltet - hvad er mest oplagt at bruge
Til beløb skal du helt klart bruge DECIMAL eller NUMERIC
(fx. DECIMAL(18,2) eller NUMERIC(18,2) - eller en mindre
værdi end 18 for betydende cifre, hvis du ikke forventer,
at dine beløb bliver så store
.
Forskellen i forhold til FLOAT er, at du med FLOAT kan få
nogle spøjse afrundingsfejl, når du begynder at lade Firebird
regne på beløbene (også ved så tilsyneladende simple operationer
som summering og lignende). NUMERIC og DECIMAL er såkaldte
eksakte datatyper - der er altid præcis to cifre efter kommaet
i ovenstående eksempler, og der går derfor ikke rod i dit
øre-regnskab, når du begynder at lægge sammen og trække fra.
FLOAT og DOUBLE PRECISION er mest egnet til data, som af natur
spænder over et interval af både meget store og meget små tal.
Hvis du f.eks. skal kunne gemme både 0,00000000000001 og
100000000000 i den samme kolonne, så kan det ikke lade sig
gøre med en NUMERIC eller DECIMAL, men det kan det med en
FLOAT eller DOUBLE PRECISION.
--
-- Torben.