Decimal a Fraccion

Decimal a Fraccion

Postby Willi Quintana » Thu Jan 22, 2015 7:45 pm

Hola amigos,
En una hoja Excel tengo datos como este:
1 3/4
5 7/8
.....
AL concatentar con otro campo,. el resultado es 1.75, 5.875 es decir la facción se convierte en decimal,,, alguna función en (x)Harbour o FW para convertir números decimales a fracciones ??, algo asi como un Dec2Frac(1.75) => 1 3/4
Salu2
User avatar
Willi Quintana
 
Posts: 1002
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Decimal a Fraccion

Postby karinha » Thu Jan 22, 2015 8:09 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Decimal a Fraccion

Postby cnavarro » Thu Jan 22, 2015 11:11 pm

Willi Quintana wrote:Hola amigos,
En una hoja Excel tengo datos como este:
1 3/4
5 7/8
.....
AL concatentar con otro campo,. el resultado es 1.75, 5.875 es decir la facción se convierte en decimal,,, alguna función en (x)Harbour o FW para convertir números decimales a fracciones ??, algo asi como un Dec2Frac(1.75) => 1 3/4
Salu2


No entiendo bien lo que necesitas
Lo he hecho al vuelo, pero mas o menos te puedes hacer una idea (yo los llamo numeros mixtos :D )

Code: Select all  Expand view

Function Dec2Mixto( nVal )
Local x
Local y
Local z  := 1
Local i

x    := Int( nVal )
y    := ( nVal - x ) * 100

For i = 1 to y
     if empty( (y % i) )
        if empty( 100 % i )
           z := i                //M.C.D.
       endif
    endif
Next x

Return ( Str( x, 4, 0 ) +"  " + Str( (y / z) , 2, 0 ) +" / " + Str( (100 / z), 2, 0 ) )

 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Decimal a Fraccion

Postby Carlos Mora » Fri Jan 23, 2015 9:26 am

La solución de Cristobal es bastante aproximada, quedaría mejor si chequeas que la parte entera sea != 0 para incluirla.

Respecto de la parte fraccionaria, es probable que pierda precisión tan pronto como lo conviertas a decimal. Por ejemplo si tienes '1 1/3', te quedará 1,33333333333... que al aplicar el método del amigo Cristobal para volver a obtener el original nos quedará 1 33/100.

No tengo claro cual es el contexto para pensar una solución más clara, si necesitas entregar resultados precisos tal vez te compense generar algunas rutinas para hacer operaciones con quebrados, manteniendo siempre la precisión representando cada cifra como lo que realmente son, tres enteros ( o dos si lo quieres simplificar un poco )
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Decimal a Fraccion

Postby sysctrl2 » Tue Jan 27, 2015 5:40 pm

a eso se le llaman matemáticas ?
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 87 guests