Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Números reales con la API de Win32

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

Números reales con la API de Win32

Notapor Virux el Sab Mar 26, 2005 12:36 pm

Gente:
Soy nuevo en esta comunidad y tengo un problema al manejar números reales utilizando el control EDIT con la API de Win32.

¿Me podrían ayudar? Ya que con el EDIT sólo sé que pueden ingresarse cadenas y numeros enteros no negativos. Necesito poder manejar los números reales (ingresados por ese control - o uno similar -) y volverlos a mostrar por ese mismo control.

Me han dicho que creando un nuevo control se podría solucionar este problema; sin embargo, tampoco sé cómo hacer esto.
Agradecería mucho que me pudiesen colaborar con esto.

Se pueden comunicar conmigo en virux.ag@gmail.com
Avatar de Usuario
Virux
Novato
Novato
 
Mensajes: 4
Registrado: Dom Mar 20, 2005 2:19 pm

Notapor Virux el Jue Mar 31, 2005 6:24 pm

Gente:

Encontré la respuesta a la pregunta que había formulado anteriormente.
Cómo puede que alguna persona pudiése tener la misma duda, la resuelvo acá:

Desde en EditBox es posible obtener el número real, almacenado en una cadena. Para poder trabajar con ese número se convierte mediante la función,

double numero;
numero = atof(cadena);

// atof() se encuentra definida en stdlib.h

donde cadena es un puntero de la primera dirección del arreglo que contiene el número.

Ahora, para convertir un número real en una cadena, se puede utilizar esta función:

int tamano;
double numero = 3.1415926535;
char cadena[num];

tamano = sprintf(cadena,"%f",numero);

donde en tamano queda almacenada la longitud de la cadena de caracteres (esto podría ser útil más adelante).
Avatar de Usuario
Virux
Novato
Novato
 
Mensajes: 4
Registrado: Dom Mar 20, 2005 2:19 pm

MAS LIMPIO

Notapor DJK el Jue Abr 07, 2005 9:04 pm

Mejor te hubieras ahorrado el trabajo y utilizado defrente la funcion wsprintf;

Código: Seleccionar todo
char     szMiNum[ MAX_PATH ];
char     szMiResult[ MAX_PATH ];
double  dRealNum;

GetWindowText( hEditBox, szMiNum, MAX_PATH );
dRealNum = atof( szMiNum );

// Operas y devueles la operacion al control
wsprintf( szMiResult, "%f", dRealNum );
SetWindowText( hEditBox, szMiResult );
Your Kung Fu is not So Good!!!
Avatar de Usuario
DJK
Usuario Activo
Usuario Activo
 
Mensajes: 24
Registrado: Vie Jun 20, 2003 10:37 am
Ubicación: Puno - Perú


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron