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
Decimal a Fraccion
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Re: Decimal a Fraccion
João Santos - São Paulo - Brasil
Re: Decimal a Fraccion
No entiendo bien lo que necesitasWilli 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
Lo he hecho al vuelo, pero mas o menos te puedes hacer una idea (yo los llamo numeros mixtos )
Code: Select all
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 ) )
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
Re: Decimal a Fraccion
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 )
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
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Re: Decimal a Fraccion
a eso se le llaman matemáticas ?
Cesar Cortes Cruz
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
SysCtrl Software
Mexico
' Sin +- FWH es mejor "