FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour no redondea correctamnete
Posts: 225
Joined: Tue Feb 28, 2006 04:25 PM
no redondea correctamnete
Posted: Thu Jan 18, 2007 12:32 AM

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

ME INTERESA FW Y XHB POR SER OPEN SOURCE
Posts: 366
Joined: Wed Aug 30, 2006 05:25 PM
no redondea correctamnete
Posted: Thu Jan 18, 2007 03:35 AM

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.

Gracias y Saludos

Ruben Fernandez - Uruguay

FWH 11.06, Harbour, Borland 5.82
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
no redondea correctamnete
Posted: Thu Jan 18, 2007 12:25 PM

en xharbour 9.61 funciona ok

msgalert( round(x,3) )
5.811000

saludos
Patricio

Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: no redondea correctamnete
Posted: Thu Jan 18, 2007 06:06 PM
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
Posts: 219
Joined: Mon Dec 26, 2005 07:25 PM
no redondea correctamnete
Posted: Sun Jan 21, 2007 10:40 AM

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.

Nos Gusta Programar

Continue the discussion