viernes, 18 de abril de 2008

Conversion de Fracciones a Decimales

La siguiente funcion es muy simple, lo que hace es convertir un string que representa a una fraccion en un numero decimal.

Usa dos parametros: as_x , que es la fraccion y es de tipo string, es un parametro por valor; y ad_valor, que es por referencia y sera el resultado de la conversion, y es de tipo double.


integer li_return, li_p

double ld_n, ld_num, ld_den

string ls_cadena

ls_cadena = trim(as_x)

li_p = pos(ls_cadena, "/")

if li_p = 0 then

ad_valor = double(as_x)

li_return = 1

else

ld_den = double(right(ls_cadena, len(ls_cadena) - li_p ))

if ld_den  = 0 then li_return = -1

ls_cadena = trim(left(ls_cadena, li_p - 1))

ld_num = double(ls_cadena)

end if

if ld_den <> 0 then

ld_n = ld_num / ld_den

ad_valor = ld_n

li_return = 1

end if

return li_return


Para variar... esta en power builder

No hay comentarios: