![]() |
sumar o restar valores tipo money
hola miren tengo 2 dbedits en donde estan valores tipo money de una tabla.
bien ahora los necesito sumar , como seria la funcion? o a los dbedits los paso a variables real. puede ser que strtoint(dbedit1.text) ese dbedit.text tiene un valor money, pero nuca ese valor va a ser por ej: $2,5 en este caso seran $2sin coma, Bmuchas gracias |
Hola.
Te pongo dos formas para hacerlo:
Saludos. :) |
Hola.
Antes de que me den el tirón de orejas, se me deslizó un 'begin' de más. Favor de ignorarlo... :D Saludos. :) |
ok no ay drama se me ocurrio esto q al parecer funciona
|
Hola.
Sin analizár la lógica empleada ya que no sé lo que buscas que haga el código, pareciera funcionar. A excepción de un detalle : Mas allá que j este pegado al then (pudo ser error de tipeo). Sucede que si la variable j no es de tipo Boolean te va a dar error de expresión en la línea del if/then. Y si lo és, te va a dar un error de incompatibilidad de tipos cuando le asignas el valor del campo Monto del Query. Por otro lado me parece un código muy complicado para mostrar un mensaje despedida... :D Saludos. :) |
bien ahora qisiera sber si esto es correcto
en un dbedit1.text se almacena un valor tipo money ($80) por ej, entonces lo paso a currency para valores moneda var x:currency; x:=strtocurr(dbedit1.text); me da error $80 no es un valor flotant valido, y no lo paso a flotant por eso la duda, como seria entonces para q se mantenga money? grax |
|
Bien, explico mira yo en el dbedit1.text ingreso un monto en moneda $, ya q el dbedit1.text esta realacionado a un campo tipo moneda, bien ingreso el monto que aun no esta alamcaenado en la tabla, bueno a ese monto lo quero psasr a currency para sumarlo a otro currency, he probado
var x: Currency; begin x:= StrToCurr(DBEdit1.field.AsString); pero yo no qiero pasar a currency un valor almacenado,sino un valor que ingrese en el dbedit que luego sera almacenado o no, gracias |
Hola gonza.
Te entiendo perfectamente. Probá de hacer lo siguiente: Notarás que que si ingresaste por ejemplo: $ 1200,00 el mensaje dira: 2200, que en definitiva es la suma del valor que acabas de ingresar + 1000... No podés trabajar con el valor Text como si fuese un string por que es un MaskedText. Simplificando mucho, una cosa es lo que se muestra debido a la máscara($,.) y otra el manejo interno del valor numérico. Espero me hayas entendido. Saludos. :) |
La franja horaria es GMT +2. Ahora son las 04:09:19. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi