FoxPro/Visual FoxPro - Redondear cifra

 
Vista:

Redondear cifra

Publicado por Juan (40 intervenciones) el 14/09/2009 17:17:29
Hola... buenos dias...

Necesito de su ayuda por favor... estoy haciendo una factura donde digito cantidad y valor unitario del producto, quiero que al perder el enfoque en el valor unitario me calcule el valor total redondeado a la centena siguiente si la centena es >= a 50, o a la centena anterior si la centena < 50 y además no me arroje decimales, por ejemplo:

si el resultado de cantidad * vr. unitario = 1450 (redondear a 1500)
si el resultado de cantidad * vr. unitario = 1449 (redondear a 1400)

Muchas gracias en lo que me puedan ayudar
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:Redondear cifra

Publicado por ANDY (228 intervenciones) el 15/09/2009 01:01:10
No entiendo el ejemplo que das, ya que las cantidades que das como resultado son enteros.
Si los totales fueran 14.50 o 14.49 con la funcion ROUND obtienes lo que quieres:
a=14.50
b=14.49
?round(a, 0)
? round(b, 0)
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:Redondear cifra

Publicado por Juan (40 intervenciones) el 15/09/2009 15:44:08
Muchas gracias...
realmente la idea es trabajar con enteros, pero no con centenas fraccionadas ni con decimales.

si una centena es mayor que 50 o más, aproximar a la centena siguiente y si la centena es menor que la mitad aproximar a la centena anterior.

si el resultado es 150, aproximar a 200
si el resultado es 149, aproximar a 100
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:Redondear cifra

Publicado por Juan Carlos (13 intervenciones) el 15/09/2009 21:39:10
Hola Juan

Espero esto te sirva:

c = a*b c = 1230 * 4 = 4920
d = int(c / 100) = 49
d = d * 100 = 4900

Saludos
Juan Carlos
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:Redondear cifra

Publicado por John Belalcazar (1 intervención) el 11/01/2017 16:59:50
La forma más fácil de hacer esto es dividiendo entre 100, redondear a cero y luego multiplicar por 100.
Ejemplos
1. round(149/100,0) * 100 = 100
2. round(150/100,0) * 100 = 200
3. round(Nnn/100,0) * 100 = NNN
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
sin imagen de perfil

Redondear cifra

Publicado por ricardo (10 intervenciones) el 08/07/2015 02:32:58
Una posibilidad es que hagas una función por ej

function redondear(num,rd) && num trae el numero que deseo redondear y rd el factor de redondeo a 10/100 etc
num_redondeado=((int((num/rd),0)*rd)+rd)
return(num_redondeado)

ej si deseo redondear 24328 a 24330
num=redondear(24328,10)

24328/10 = 2432.8
parte entera = 2432*10=24320
sumo el factor = 24320+10=24330
devuelve 24330
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
sin imagen de perfil
Val: 2
Ha aumentado su posición en 8 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Redondear cifra

Publicado por Hector (1 intervención) el 29/09/2019 06:47:15
AGRADECE...
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