FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Comparar 2 numeros
Hola amigos aunque el titulo suena muy simple el problema que tengo es el siguiente: estoy haciendo un procedimiento de cobros (abonos) el cual es muy simple tengo una factura para el ejemplo es por $45,289.41 y en esta ventana acepto los pagos menores o iguales al total de la factura (bueno fuera que alguien me quisiera pagar de mas ) en un Tedit se captura la cantidad que el cliente esta abonando, antes de guardar a la base de datos (en sql Server por cierto) verifico que la cantidad no sea mayor al saldo de la factura y si es menor no hay problema pero si es igual, en este caso $45,289.41, me indica que la cantidad no puede ser mayor, el código que utilizo es el siguiente:
Al depurar con F8 veo que la cantidad es igual no tiene ningún carácter o numero de mas, además al verificar el tipo de datos me indica que el que obtengo de la base de datos es currency así que ya use StrToCurr obteniendo el mismo error al comparar; en SQL Server el dato es de tipo numerico(10,2) De antemano gracias por sus comentarios y ayuda
__________________
Espero poder seguir exprimiéndote el cerebro 8) Jorge Zamora Ginez Puebla, Pue. México |
#2
|
||||
|
||||
El problema que tienes es que estas capturando un valor tipo real a partir de un TEdit comun y corriente. Ya vi que antes de comparar eliminas el '$' y las comas. Pero ¿Y si puso cualquier otro caracter? Te recomiendo usar mejor un control TMaskEdit que ya trae forma de definir mascarillas par ala captura de cantidades en dinero. Ya casi nadie los usa porque hya muchos bibliotecas como las Rx que traen un componente especial para capturar cantidades en dinero y en donde no hay que hacer mas conversiones.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#3
|
||||
|
||||
Hola AzidRain te comento que en el TEdit tengo programado keypress y otros eventos para evitar que entre algo diferente a numeros y punto decimal, el signo de $ y las comas las aumento cuando el foco pasa a otro control solo por efecto visual, el TMaskEdit no lo uso porque visualmente no me gustó como muestra en este caso los números, probare los RX que mencionas
__________________
Espero poder seguir exprimiéndote el cerebro 8) Jorge Zamora Ginez Puebla, Pue. México Última edición por jzginez fecha: 16-02-2010 a las 04:59:10. Razón: horror de redacción |
#4
|
||||
|
||||
Te recomiendo usar las Rx
|
#5
|
||||
|
||||
Ya baje e instale los Rx voy a probarlas pero ahorita por lo avanzado y urgente del proyecto tuve que hacer el siguiente cambio
como verán no es la mejor solución pero mientras el cliente prueba el demo me da tiempo de probar bien y hacer el cambio usando los RX
__________________
Espero poder seguir exprimiéndote el cerebro 8) Jorge Zamora Ginez Puebla, Pue. México Última edición por jzginez fecha: 16-02-2010 a las 16:36:45. Razón: error de dedo |
#6
|
||||
|
||||
Me parece que el problema de fondo es de redondeo. Trata de hacer pasar ambos valores por la función RoundTo() al momento de comparar. Por ejemplo:
Redondea en la segunda cifra decimal. Ahora el chivo En mi página web tengo un componente desendiente de TEdit que solo captura números enteros o reales y hace la conversión automáticamente, también previene que el usuario escriba otra cosa que no sea números, punto o coma y los signos mas o menos. Se llama TEditReal. Última edición por DriverOp fecha: 16-02-2010 a las 20:54:32. Razón: Me faltó un paréntisis |
#7
|
||||
|
||||
Hola DriverOp gracias tu solución funciono de maravilla y me ahora el tener que estar cambiando componentes, aunque ya instale los Rx y se ven interesantes, te comento que el TEdit que uso es muy parecido a tu componente, de este foro obtuve el código hacerlo nada mas que no lo lleve al nivel de componente sino que escribí todo el código dentro del código de mi ventana.
Gracias por tu ayuda
__________________
Espero poder seguir exprimiéndote el cerebro 8) Jorge Zamora Ginez Puebla, Pue. México |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
comparar numeros como string | nikotina | Varios | 10 | 16-09-2008 11:11:50 |
Comparar números. | REHome | .NET | 5 | 16-07-2008 00:49:18 |
Comparar fechas | creus | Varios | 3 | 19-03-2007 14:27:14 |
comparar listas de numeros | Tala | SQL | 4 | 06-07-2006 00:45:14 |
comparar con el mod | emiliu | Varios | 1 | 23-01-2006 20:55:53 |
|