[MS-SQL][ADO] précision du type FLOAT
Bonjour,
En interrogeant ma base MS-SQL avec l'outil Microsoft "Analyseur de requête"
select top 1 Valeur1
from MaTable
donne le résultat : 134.543277 (c'est la valeur exacte stockée dans le champ Valeur1 de MaTable)
En interrogeant la même base avec la même requête avec Delphi via ADO:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Function GetValeur:Real;
Var mValeur : Real;
Begin
Qry1.active := false;
Qry1.Sql.Clear;
Qry1.Sql.Add('select top 1 Valeur1 from MaTable');
Qry1.active := true;
Result := Qry1.Fields[0].AsFloat;
Qry1.active := false;
End; |
La fonction GetValeur me retourne 134.5433 !!!
Elle arrondit à la 4ème décimale. Pourquoi ?
Surtout que si je fais
Code:
1 2 3 4 5 6
|
Function GetValeur:Real;
Var mValeur : Real;
Begin
Result := 134.543277;
End; |
La fonction GetValeur me retourne bien 134.543277