Clarion - PROBLEMA EN REDONDEO DE VARIAB

 
Vista:
sin imagen de perfil

PROBLEMA EN REDONDEO DE VARIAB

Publicado por Marcos (98 intervenciones) el 12/11/2008 22:01:19
Hola mi problema es el siguiente

tengo 2 variables

X= 0.01

P=1.9955

la operacion x * p me da un resultado 0.0199 con la calculadora, pero cuando lo hago en el codigo esa operacion y lo trasfiero a una variable z del formato 10,4 me lo redondea y me pone directamente 0.02.


yo necesito que no me haga ningun redondeo y que me deje el valor tal cual es

desde ya muchas gracias
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:PROBLEMA EN REDONDEO DE VARIAB

Publicado por Enrique Pérez Cázares (63 intervenciones) el 12/11/2008 22:42:36
Revisa dos detalles:
Como estas definiendo la variable donde se recibe el resultado, si esta es real, no deberás de tener problemas.
Revisa el formato de despliegue del resultado o de la variable del mismo. Si tienes algo como @n12.2 seguramente te lo redondeará a dos decimales. utiliza el formato @n12.4 si quieres cuatro decimales o lo que requieras.
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:PROBLEMA EN REDONDEO DE VARIAB

Publicado por Alfredo (37 intervenciones) el 13/11/2008 13:35:12
Además Contas con la funcion:
ROUND (return rounded number)


ROUND(expression,order)

ROUND Returns rounded value.

expression A numeric constant, variable, or expression.
order A numeric expression with a value equal to a power of ten, such as 1, 10, 100, 0.1, 0.001, etc. If the value is not an even power
of ten, the next lowest power is used; 0.55 will use 0.1 and 155 will use 100.

The ROUND procedure returns the value of an expression rounded to a power of ten. If the order is a LONG or DECIMAL Base Type, then rounding is
performed as a BCD operation. Note that if you want to round a real number larger than 1e30, you should use ROUND(num,1.0e0), and not ROUND(num,1).
The ROUND procedure is very efficient ("cheap") as a BCD operation and should be used to compare REALs to DECIMALs at decimal width.

Return Data Type: DECIMAL or REAL
Example:

!ROUND(5163,100) returns 5200

!ROUND(657.50,1) returns 658
!ROUND(51.63594,.01) returns 51.64

Commission = ROUND(Price / Rate,.01) !Round the commission to the nearest cent

See Also:
BCD Operations and Procedures
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