Conversion d'une String en Real

ORIBE -  
tafiscobar Messages postés 1281 Statut Contributeur -
Bonjour
J'ai un problème, je souhaite récupérer un nombre que je rentre dans un Edit pour le mettre dans un tableau de réel après validation par un bouton met à l'execution j'ai une erreur comme quoi le nombre n'est pas de type flottant pourtant j'utilise StrToFloat(Edit.Text)
Si vous avez une solution merci de me tenir au courant
Sylvain
A voir également:

4 réponses

sebsauvage
 
Dans quel langage ?
0
Sylvain
 
En langage Delphi4!
0
sebsauvage
 
Tout dépend de ta configuration de windows:
Le séparateur des décimaux est-il la virgule ou le point ?

Je ne sais pas quelle convention StrToFloat() utilise par défaut.
Je n'ai pas Delphi sous la main, mais regarde si il n'y a pas des options dans StrToFloat() pour spécifier le séparateur.

Si il n'y en pas, ça sera à toi de replacer la virgule par un point (ou vice-versa).
0
Taboujr Messages postés 507 Statut Membre 117
 
J'ai eu un souci un jour avec la fonction StrToFloat, ma solution, ça a été de la reconstruire à ma façon, en extrayant la partie entière et la partie décimale dans des Entier et en refaisant l'opération Réel final = Partie Entière + Partie décimale/10^nb de chiffre de la partie décimale. La conversion Entier/Réelle se fait automatiquement si je me souviens bien.

En passant à Delphi 5, puis 6, j'ai plus eu de souci. J'ai jamais compris pourquoi... Mais de toutes façons, il vaut toujours mieux modifier ton Edit.Text pour changer le séparateur afin que ton logiciel soit utilisable qulle que soit la configuration du PC sur lequel elle est utilisée.

Sinon, si tu veux te mettre à Delphi 6, fais un tour sur le site de Borland, la version personnelle y est gracieusement offerte.

Tabou Junior
0
tafiscobar Messages postés 1281 Statut Contributeur 177
 
salut, moi j'ai fait une petite fct en C++ sous VC++ pour convertir une string en double, donc si cela t'interresse, ce n'est pas tres propre coe code mais je pense q tu p le refaire coe tu v.C'est q j'etudie caractere par caractere et je les concatene comme il l faut en prenant en compte comment le systeme gere les flottants.Voila, si le code t'interresse, je te l'envoie ou j l'ai donne a cette adresse : http://www.cppfrance.com/article.aspx?Val=889 , tu telecharges les zip et tu regardes ds le dossier calculdll le module calcul.cpp, la fct qui s'appelle valeurDouble() , j'espere q j t'ai aide, tu p le faire en dll et l'utiliser sous delphi ou le reecrire en delphi.
tafiscobar
0