Convertir une AnsiString en Int ou Double

Convertir une AnsiString en Int ou Double - C++ - Programmation

Marsh Posté le 29-01-2006 à 15:53:22    

Bon, voila,  
je debutte un peu en mode graphique sur C++ et j'ai un champ de saisie qui me donne le type AnsiString quand j'veux prendre sa valeur.
Bon, quand c'est des string que je veux, pas de probleme, par contre là, en fait je veux des entiers (ou float), et je n'arrive pas a faire la conversion!!
 
Y a t'il une fonction (deja existante) pour empecher la saisie autre que des chiffres?
Sinon, qu'elle est la fonction pour convertir cette chaine en int?
J'ai essayer atoi mais il me donne le message suivant :

Code :
  1. alpha = atoi(TxtBoxAlpha->Text);
  2. [C++ Error] Integrale.cpp(23): E2034 Cannot convert 'AnsiString' to 'const char *'


 
Que faire? :(
 
edit : j'utilise Borland C++


Message édité par gargantua307 le 29-01-2006 à 15:58:19
Reply

Marsh Posté le 29-01-2006 à 15:53:22   

Reply

Marsh Posté le 29-01-2006 à 17:18:55    

StrToInt ?

Reply

Marsh Posté le 29-01-2006 à 18:00:13    

Si tu veux faire du C, écris strtoul(TxtBoxAlpha->Text.c_str(), NULL, 10);
atoi est fortement déconseillé.
Pour empêcher la saisie de caractères autres que des chiffres tu peux essayer d'utiliser l'évènement onKeyUp de TEdit.


Message édité par Trap D le 29-01-2006 à 18:03:18
Reply

Marsh Posté le 29-01-2006 à 18:27:10    

Merci, StrToInt me va tres bien.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed