GeneXus - Decimales

 
Vista:

Decimales

Publicado por Ceci (2 intervenciones) el 19/02/2007 23:08:22
hola, necesito ayuda urgente por favor. tengo 3 variables,
&RecAct = recurso actual ---- N10
&RecDes = recurso deseado -----N10
&ProdPH = porduccion por hora ------N10
y tengo otras tres vaiables
&Horas ---- N4
&Horas2 -----N6.4
&Minutos ----N2
&Segundos ----N2
Lo que necesito hacer es, para sacar el tiempo exacto que lleva hacer la produccion:

&Calculo = &RecAct - &RecDes
&Horas2 = &Calculo / &PordPH // Esto me da la cantidad de horas con 4 decimales
&Horas = &Calculo / &PordPH // esto me devuelve la cantidad de horas.
Bien, ahora necesito de la variable &Horas2, obtener solamente los numeros decimales para poderlos multiplicar por 60 y asi sacar los minutos que llevara la produccion.

Suposicion:
&RecAct = 0
&RecDes = 400
&ProdPH = 17

&Calculo = 400 - 0 // = 400
&Horas2 = 400 / 17 // = 23,5294
&Horas = 400 / 17 // = 23
Necesito usar los decimales 5294 para multiplarlos por 60 y a ese resultado dividirlo por 10000, lo que me va a dar 31,764. Entonces tengo que tarda 23 H 31 M, ahora el mismo proceso para los segundos.
se entiende? Gracias por su tiempo y agradesco posibles soluciones lo antes posible.
Chechu
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:Decimales

Publicado por gabriel (25 intervenciones) el 21/02/2007 12:04:15
Con la funcion " int " sacas el valor entero del numero, se lo restas y te quedan los decimales, para que te quede un numero entero lo multiplicas por 10000 y te da un numero entero con el valor decimal.

23.5444 int te da 23
a una variable le asignas 23.5444 - 23 y te da (0.5444 * 10000)
Espero me entiendas y te sirva
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:Decimales

Publicado por ceci (2 intervenciones) el 21/02/2007 13:40:05
El problema es que tengo que pasarlo por variable, y el Int, pide una funcion numerica. De todas formas hice algo parecido a lo que dijistes, pero con el comando trunc.
&Calc1 = &RDeseado - &R
&Calc2 = &Calc1 / &RProd
&Tiem = Trunc(&Calc2,0)
&Tiem1 = Trunc(&Calc2,4)
&total = &Tiem1 - &Tiem

Con eso me funciono, Gracias.
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