Pb avec EConvert [Résolu]

Messages postés
32
Date d'inscription
vendredi 29 novembre 2002
Statut
Membre
Dernière intervention
27 avril 2005
- - Dernière réponse : Loulibier
Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
- 26 oct. 2004 à 22:35
Voila j'ai ceci :

Met donnée continne sa :

result := '35';
montant[i+1] := '0';
montant[i+1] := '0';

dans une function j'ai ceci :

result := result + Chr(46) + montant[i+1] + montant[i+2];
result := IntToStr(Round(StrToInt(result)));

sa ne marche pas, et me declanche une erreur EConvertError..
vous avez une iddée ?
Afficher la suite 
A voir également:

2 réponses

Meilleure réponse
Messages postés
6
Date d'inscription
mercredi 12 mai 2004
Statut
Membre
Dernière intervention
21 novembre 2004
3
Merci
Bonjour,

A priori, Chr(46) est l'équivalent de '.'.
result contient donc après la première instruction '35.00'.

'35.00' n'est pas une valeur entière (correcte), et la fonction StrToInt cherche à convertir du texte en un entier... ce qui n'est évidemment pas possible et déclenche donc une execption EConvertError (erreur de conversion de donnée).

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de wedebe
Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
1
3
Merci
Salut freax,

wedebe a tout à fait raison, si tu cherches à Convertir une chaine de caractère en Real il faut utiliser la function StrToFloat StrToInt converti une chaine de caractère en Entier.

Afin de ne pas recontrer d'autre EConvertError avec la function StrToFloat, je te conseil d'utiliser le caractère décimale de Delphi, que tu peux initialiser ta guise.

result := result + DecimalSeparator + montant[i+1] + montant[i+2];
result := IntToStr(Round(StrToFloat(result)));


Bonne Prog, ;)

Olivier

PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Loulibier