FoxPro/Visual FoxPro - Nro. decimal a fraccionario

 
Vista:
sin imagen de perfil

Nro. decimal a fraccionario

Publicado por Luis Fernando López Duque (40 intervenciones) el 04/01/2005 11:23:02
Hola buenos días, saludos desde Medellín-Colombia.

Desearía saber cómo hago para obtener el número fraccionario de un decimal (0.50, 0.34, etc)

Expreso mis agradecimientos por la colaboración prestada.
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:Nro. decimal a fraccionario

Publicado por israel (60 intervenciones) el 04/01/2005 16:33:05
eso es algebra elemental
0.5 = 5/10
0.23=34/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
sin imagen de perfil

RE:Nro. decimal a fraccionario

Publicado por Luis Fernando López Duque (40 intervenciones) el 05/01/2005 11:19:50
Oyeme Israel, podrá ser algebra elemental de Valdor aqui y en la reconchinchina, pero creo que no pudiste entender mi pregunta, cuando me refiero a obtener el número fraccionario de un decimal es de la siguiente forma:

0.5 = 1/4, asi lo deseo expresar, ese 1/4 es el que deseo que por programa, por código, me aparezca en pantalla.
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:Nro. decimal a fraccionario

Publicado por Hugo R. (207 intervenciones) el 04/01/2005 17:17:52
si lo que quieres es obtener el valor decimal de un resultado seria asi:
A=22.55
B=INT(A)
C=A-B
C = DECIMAL
SI ESTA VARIABLE LA QUIERES EN ENTERO NADAMAS MULTIPLICALA X 100
C= C*100 (AQUI TE DARIA EL DECIMAL EN ENTERO)
ESO ES LO QUE ENTENDI..HASTA PRONTO..!!
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:Nro. decimal a fraccionario

Publicado por Hugo Alberto (42 intervenciones) el 05/01/2005 17:18:38
Hola LUIS

Tengo un pequeño código que te puede servir. Debes "agregarle" a lo que te pasó mi homónimo.

NUMERO = .34
n1 = 34 &&& la parte DECIMAL llevado a ENTERO usar "rutina" de Hugo R.
n2 = 100 &&& asumiendo que son 2 DECIMALES
h1 = n1 &&& auxiliar
h2 = n2 &&& auxiliar
*
dime vec1[int(n1/2)], vec2[int(n2/2)]
store 0 to vec1, vec2
for i = 2 to int(n1/2)
sigue = .t.
do while sigue
if int(n1/i) = n1/i
sigue = .t.
vec1[i] = vec1[i] + 1
n1 = n1/i
else
sigue = .f.
endif
if int(n2/i) = n2/i
sigue = .t.
vec2[i] = vec2[i] + 1
n2 = n2/i
else
sigue = .f.
endif
enddo
next
*
MCD = 1
for i = 1 to int(h1/2)
if vec1[i] > 0 .and. vec2[i] > 0
MCD = MCD * i*min(vec1[i],vec2[i])
endif
next
*
@ 05,05 say h1 pict '9999'
@ 05,15 say h2 pict '9999'
@ 10,05 say H1/MCD pict '9999'
@ 11,05 say H2/MCD pict '9999'

Pruébalo y dime cómo estuvo. Suerte.

Saludos
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