cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 2014
-
26 avril 2004 à 17:09
dominique.stock
Messages postés436Date d'inscriptionvendredi 7 novembre 2003StatutMembreDernière intervention 8 octobre 2008
-
13 oct. 2005 à 10:51
Je voudrais savoir comment peut-on savoir la taille de la partie decimal+entiere d' un champ numerique
L'espace nécessaire pour le stockage des données est donné par la propriété DataSize du champ. Dans le cas d'un champ TFloatField, la valeur est toujours 8.
May Delphi be with you
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 20 déc. 2004 à 13:22
Simplement genial !!!
Ça démontre un problème que je connaissait à savoir:
If myVar = 2.1
Then Faire quelques chose ...
Else Faire autres chose ...
Il se peut que le If ne soit jamais vrai parceque ma variable possède la valeur 2.10000000000000000000000000001 !!!
Je comprends mieux pourquoi, et même dans du code SQL, mes variables/champs de type double n' avait pas la valeur exacte du calcul. J' ai crée d' ailleurs à ce sujet une fonction d' arrondissement (aussi parce que Delphi ne sait pas arrondir 0.105 à 0.11 euro par exemple, il arrondit à 0.10) afin de modifier mon if en Arrondir(mayVar avec 1 décimal) = 2.1 !!!
Sinon, désolé DelphiProg, mais c' etait pas ça non plus que je cherchais : (
Je vais essayer de t' expliquer differemment: ce que je veux savoir, c' est choisir un champ d' une table de type float, et d' après la définition de ce champ (qui est dans la structure de la table, cette derniere visible/modifiable dans le programme Database Desktop fournit avec Delphi), savoir si c' est un float de type 4N1, ou 3N2 ou encore 7N2
Merci en tout cas pour l' intérêt que tu portes à ce problème.
PS: j'ai cherché partout sur le NET (ça fait un bonmoment deja) et pas moyen d' avoir une réponse. Il me semble d' ailleurs que j' ai envoyé un mail à Borland, mais je n' ai pas eu de réponse non plus).
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 20 déc. 2004 à 13:56
C'est encore moi,
Effectivement je viens de voir le lien de delphiprog tout simplement très interessant. C'est vrai qu'il ne sert pas dans la résolution de notre fameux problèmes afin de connaittre la taille f'un champ floattant mais c'est vraiment tres interessant.
dominique.stock
Messages postés436Date d'inscriptionvendredi 7 novembre 2003StatutMembreDernière intervention 8 octobre 20087 13 oct. 2005 à 10:51
Bonjour,
nb étant le float en question stocké en 'string' et en partant du principe que c'est la ',' qui sert de séparateur de décimal.
nbentier:=length(copy(nb,1,pos(',',nb)-1));
nbdecimal:=(length(nb)-1-(nbentier));