Power Builder - Calculo aritmetico

   
Vista:

Calculo aritmetico

Publicado por achafio (88 intervenciones) el 23/10/2007 15:43:44
Tengo la siguiente duda, como puedo realizar un cálculo como por ejm:
1) (A+B)*C
2) (A - B) * (D / (C + A))

Por sitar algunos ejemplos.

Cualquier sugerencia es bienvenida, si tuvieran alguna función o ejemplo será muy agradecida.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Calculo aritmetico

Publicado por alberto (73 intervenciones) el 23/10/2007 16:30:58
sinceramente no creo entender tu pregunta....
qué exactamente quieres saber?
como se escriben esas operaciones aritméticas en powerbuilder?
has probado escribirlas tal y como están en powerbuilder antes de preguntar?
ambas líneas son completamente válidas en powerbuilder.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo aritmetico

Publicado por amilcar (406 intervenciones) el 23/10/2007 16:32:23
puedes usar sentencia sql o usar un compute field en dw usando la propiedad expression

ejemplo
dw_1.object.calculador.expression="2*3" // o la expresion q quieras
ldec_importe=dw_1.getitemdecimal(1,"calculador")

espero te de una idea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo aritmetico

Publicado por achafio (88 intervenciones) el 23/10/2007 18:33:32
Amilcar, gracias por tu tiempo, pero la duda que tengo es como saber o como decirle a la pc que primero tome lo que está dentro del parentesis para luego con el resultado realizar la siguiente operacion:

(A+B) * C

Es decir, como decirle que primero ejecute A + B y luego ese resultado multiplicarlo por C.

Hay que tener encuenta q el usuario es el que va a poner las condiciones de operacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo aritmetico

Publicado por alberto (73 intervenciones) el 23/10/2007 18:44:06
te recomiendo que leas un buen libro de algorítmica y otro de aritmética.
la forma natural de decirle a una máquina que primero efectúe una operación y luego la siguiente es usar paréntesis.
es decir.
el hecho de colocar A + B entre paréntesis significa que se está forzando a obviar el orden natural de cálculo.
el orden de prioridad de las operaciones básicas es
división
multiplicación
suma
resta
usando paréntesis, puedes cambiar este comportamiento.

(A + B) * C
(A - B) / D
en ambos casos, ejecuta lo que está en paréntesis primero y luego continúa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo aritmetico

Publicado por davis (79 intervenciones) el 23/10/2007 19:55:00
creo entender lo q quieres :

q el usuario define q accion se toma primero
primero Multiplica (A * B) luego suma C .. resta - D etc ..
...
..

algo asi como una calculadora
pero no me imagino en q caso puedas aplicar esto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo aritmetico

Publicado por achafio (88 intervenciones) el 23/10/2007 21:08:58
Claro algo parecido a eso.

Lo que pasa es que tengo un reporte por medio de un store procedure, en la cual se muestra un comentario y al costado debe ir un monto, ese monto, es lo que define el usuario, es decir, pone que es lo que debe sumar, restar, multiplicar o dividir (en otras palabras coloca la formula que debe aplicar).

Es por eso que necesito saber como puedo diseñar algo como eso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo aritmetico

Publicado por davis (79 intervenciones) el 23/10/2007 23:58:52
mm .
Bueno nunca he hecho reporte con un sp
si quisiera obtenerla algo asi
cambiara la sentencia sql del dw , y ahi podrias introcir la formaula q quisieras obtener

string ls_sintax
string ls_nuevo_calculo

//aqui podrias introducir el nuevo calculo quieres obtener
ls_nuevo_calculo = " (Tabla1.Cantidad * Tabla1.Equivalente) + (Tabla2.Porce) ""

ls_sintax = "select Tabla1.Campo , Tabla1.Campo2 " &
+ "campo_calculado = " + ls_nuevo_calculo
+ " from Tabla1 join Tabla2 on ..... ........... ............."

dw_1.setsqlselect (ls_sintax)

dw_1.retrieve ()
en retrieve tambien podrias pasarle el codigo del cliente

Saludos ,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo aritmetico

Publicado por amilcar (406 intervenciones) el 24/10/2007 00:19:24
hola, de nuevo yo, mira en mi caso para un sistema de sueldos, donde el usuario define la formulas q quiera , el algunos casos uso la propiedad expression de un compute field como comente antes.
es decir dejo q el usuario arme la formula con parentesis, como el quiera y luego el compute se encarga de ejecutar dicha expression

espero ser claro

suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar