Utilizar números decimales en Visual C++

Por:ivancp, enviado 11 may 2008

Introducción

El control CEdit por defecto solo puede manipular texto y con la propiedad ES_NUMBER es posible aceptar solamente números pero sin números decimales. Pensando en esas deficiencias es que desarrollé un control basado en CEdit para poderlo utilizar en algunas aplicaciones que estaba desarrollando. Después de algunas modificaciones, he preparado la clase para compartirla con ustedes.

Funcionamiento de la clase.



  • Permite escribir números con punto decimal.
  • Se puede establecer y recuperar el numero decimal en el tipo de dato double.
  • Puede establecerse el tamaño de las posiciones decimales que van de 0 a 8.
  • Permite números negativos.
  • Todas las características están encapsuladas en la clase CNSDoubleEdit.

La clase CNSDoubleEdit.

La clase se inicializa con el valor cero por defecto y 2 posiciones decimales. Para cambiar el signo del numero solo se tiene que presionar el símbolo guión del teclado.

Como se trata de una clase derivada de CEdit (MFC) se puede instanciar en un dialogo.

CNSDoubleEdit ::SetDecimalPlaces

Ésta función establece la cantidad de lugares decimales que mostrará el control. Éste valor puede estar entre 0 y 8 (pueden modificar el código fuente para que pueda aceptar mas). En el parámetro nDecimals se indica el valor.

void SetDecimalPlaces(int nDecimals);

La función no devuelve ningún valor.

CNSDoubleEdit ::SetDoubleVal.

Establece un valor double dado en el parámetro dValue, y actualiza el valor en el control si éste está activo, el numero se formateará según los lugares decimales establecidos.

void SetDoubleVal(double dValue);

La función no devuelve ningún valor;

CNSDoubleEdit ::GetDoubleVal

Devuelve el valor actual del control en el tipo de dato double.

double GetDoubleVal();

Ejemplo de uso

Pueden descargar el código fuente de la clase y un proyecto de ejemplo de uso de la clase CNSDoubleEdit. La imagen siguiente muestra al control en acción.

NSDoubleEdit.gif
NSDoubleEdit en Acción


El código fuente se brinda tal como está, sería excelente que me escribas si vas a utilizarlo en aplicaciones comerciales.

Pueden escribir un post en el foro preparado para éste artículo para absolver dudas (ver los enlaces mas abajo).
Tags: MFC,CEdit,CDialog

Archivos Adjuntos

Otros Artículos en esta sección

  • Juego de la Serpiente en Visual C++
    Se trata de un juego donde hay una serpiente que esta en constante movimiento, cuando come algo crece, el juego termina cuando la serpiente ya no tiene espacio.
    Por: ivancp, 2004-03-27
  • Uso de CListCtrl y DAO
    na forma de utilizar el control ActiveX MSFlexGrid en aplicaciones Visual C++ basadas en MFC, este control es útil para visualizar datos.
    Por: MicroLogic©Software, 2005-04-20
  • HACHA (AXE) Cortador de Archivos
    Es una versión del cortador de archivos Hacha que incluye el código fuente, puedes utilizar el cortador para enviar archivos en medios pequeños.
    Por: Lizardo, 2004-03-14
¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:
foro de Visual C++ »