como hacer un text moneda?

14/10/2005 - 04:11 por Richard | Informe spam
Quisiera saber si alguno de ustedes han desarrollado un software donde
tengan que introducir datos enteros y 2 decimales ya que he probado con el
numericupdown y no funciona como deberia. Existie algun dll que pueda
utilizar free. Estoy programando en vb.net 2003.

Gracias de antemano.
RV
 

Leer las respuestas

#1 Carlos Gómez
14/10/2005 - 14:52 | Informe spam
Lo que quieres es sencillo pero trabajoso:

Primero debes capturar el evento KeyDown, y ahí evitar que el usuario
use letras, pero permitir que use numeros, el punto, o la coma (o
ambos), y las teclas de control (flecha arriba, abajo, derecha,
izquierda, delete...) además del signo menos

Por otro lado, en el evento validating debes comprobar que el resultado
es un
número (no vaya a ser que haya hecho uso de control-v y te pegue un
texto)

Además en el evento keyPress comprobar que si escribe el símbolo
menos (-) este se coloque al principio si no estaba, y si ya estaba,
quitarlo.

Tambien en KeyPress comprobar si escribe un punto o una coma el
caracter que muestre el TextBox sea el que tu deseas (en castellano la
coma, en inglés el punto...), y que por otro lado no haya ya hecho uso
antes, ya que si el textbox contiene un punto (o coma) no debe escribir
otro punto.

Además debe evitarse entradas del tipo ,03 ya que la correcta sería
0,03 o entradas del tipo 0000013,23 ya que la correcta seria 13,23 o
-,23 --> -0,23

En fin, alguna otra cosa se me abrá pasado, pero ya ves que el
proceso, aunque es sencillo tiene muchos detalles como por ejemplo que
teniendo esto:
-0,34 borre el cero y deje esto: -,23

y si ademas quieres que no tenga más de dos decimales pues te
enfrentas a otro grupo mas de comprobaciones

En fin, si tienes alguna duda, lo dices y te hecho una mano si puedo ;)

Preguntas similares