• Lunes 1 de Julio de 2024, 06:02

Autor Tema:  VALIDAR TEDIT PARA INTRODUCIR FLOTANTES  (Leído 2265 veces)

Arquimedes01

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
VALIDAR TEDIT PARA INTRODUCIR FLOTANTES
« en: Miércoles 20 de Agosto de 2008, 06:58 »
0
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

Arquimedes01

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: VALIDAR TEDIT PARA INTRODUCIR FLOTANTES
« Respuesta #1 en: Jueves 21 de Agosto de 2008, 01:12 »
0
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

TRod

  • Miembro MUY activo
  • ***
  • Mensajes: 108
  • Nacionalidad: mx
    • Ver Perfil
Re: VALIDAR TEDIT PARA INTRODUCIR FLOTANTES
« Respuesta #2 en: Jueves 21 de Agosto de 2008, 05:11 »
0
Existe una variable global:
DecimalSeparator
... y eso es todo... :hitcomp:

Arquimedes01

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: VALIDAR TEDIT PARA INTRODUCIR FLOTANTES
« Respuesta #3 en: Miércoles 27 de Agosto de 2008, 04:01 »
0
GRACIAS CUATE ME SIDO DE GRAN AYUDA