Page 1 of 1

no redondea correctamnete

Posted: Thu Jan 18, 2007 12:32 am
by Vladimir Zorrilla
Amigos
uso xharbour 0.82

No redondea correctamente en esta version de xharbour

local x:=5.8105

msgalert( round(x,3) )


sale 5.810


cuando deberia salir 5.811

si lo pongo directo si funciona bien

msgalert( round(5.8105))


porque

ha alguine le paso esto cual es la solucion
por q pasar a xharbour 0.99 es algo traumatico

Gracias

Posted: Thu Jan 18, 2007 3:35 am
by Ruben Fernandez
Vladimir:

Usando la lib de Nanforum toolkits (Nanfor.lib)
ese problema se soluciona.
La función es FT_Round().

Mira si tienes en xHarbour, yo la uso con Harbour y la compilo
en mis programas y me funciona bien.

Saludos.

Ruben Fernandez.

Posted: Thu Jan 18, 2007 12:25 pm
by Patricio Avalos Aguirre
en xharbour 9.61 funciona ok

msgalert( round(x,3) )
5.811000


saludos
Patricio

Re: no redondea correctamnete

Posted: Thu Jan 18, 2007 6:06 pm
by ACC69
Vladimir Zorrilla wrote:Amigos
uso xharbour 0.82

No redondea correctamente en esta version de xharbour

local x:=5.8105

msgalert( round(x,3) )


sale 5.810


cuando deberia salir 5.811

si lo pongo directo si funciona bien

msgalert( round(5.8105))


porque

ha alguine le paso esto cual es la solucion
por q pasar a xharbour 0.99 es algo traumatico

Gracias
Amigo estas usando 1 decimal de mas, es Round(x,2) , y asi te redondeara a 5.81
Adriano

Posted: Sun Jan 21, 2007 10:40 am
by manuramos
No estoy de acuerdo con ACC69. Efectivamente, debería salirte 5.811, sin embargo puedes probar con round(x,4) a ver que te sale. Si sólo necesitas 3 decimales puedes probar a pasar la cifra a string con str(round(x,4) ,12,3) o algo similar.

Un saludo.