SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Arquimedes01 en Miércoles 20 de Agosto de 2008, 06:58

Título: VALIDAR TEDIT PARA INTRODUCIR FLOTANTES
Publicado por: Arquimedes01 en Miércoles 20 de Agosto de 2008, 06:58
BUEN DIA A TODOS.


Hey estoy programando en el builder c++ y he topado con un algo. El problema es el siguiete: quiero validar un TEdit para que solo pueda introducir numeros flotantes en el, se que esto lo puedo hacer por medio de la variable Key en el evento KeyPress, de manera que logro que en el TEdit solo pueda introducir los digitos del 0 al 9, un punto para separar enteros de decimales y que solo se puedan introducir 2 decimales. Una vez capturada la informacion la copio en una variable int para manipularla

 int a;
 a=Edit->Text.ToInt();   // supongamos que Edit->Text=2.22

entonces al momento  ejecutar el codigo en mi pc todo funciona de maravilla por que tengo configurado el windows en la barra de idioma con la opcion "español mexico"  si ejecuto el mismo programa en otra pc que tiene configurado el idioma en "español (alfabetizacion internacional" por ejemplo, entonces este codigo produce un error

 a=Edit->Text.ToInt();   // supongamos que Edit->Text=2.22

dado que en esta configuracion ( "español (alfabetizacion internacional" )) para separar enteros de decimales usa comas en vez de puntos como en la configuracion "español mexicano". Asi que al momento de copiar el valor introducido en "a" aparece un mensaje de error que dice que el "2.22" no es un valor int

Como le hago para validar un TEdit de tal manera que sin importar la configuracion de idioma de la pc que este usando siempre me deje introducir numeros flotantes ya que la configuracion de idioma de una pc es algo que yo no controlo.

DE ANTE MANO MUCHAS GRACIAS
Título: Re: VALIDAR TEDIT PARA INTRODUCIR FLOTANTES
Publicado por: Arquimedes01 en Jueves 21 de Agosto de 2008, 01:12
perdon el codigo que use no es este:

int a;
a=Edit->Text.ToInt(); // supongamos que Edit->Text=2.22

este es el que use

double a;
a=Edit->Text.ToDouble(); // supongamos que Edit->Text=2.22
Título: Re: VALIDAR TEDIT PARA INTRODUCIR FLOTANTES
Publicado por: TRod en Jueves 21 de Agosto de 2008, 05:11
Existe una variable global:
DecimalSeparator
... y eso es todo... :hitcomp:
Título: Re: VALIDAR TEDIT PARA INTRODUCIR FLOTANTES
Publicado por: Arquimedes01 en Miércoles 27 de Agosto de 2008, 04:01
GRACIAS CUATE ME SIDO DE GRAN AYUDA