LPARAMETER lcString LOCAL lnNum, lnDom, lnMax, lnDecimal, lnPower, llSucess * Decimal part only of the Fraction lnMax = 64 lnNum = 1 lnDom = 2 lnPower = 1 llSucess = .F. lnDecimal = VAL(lcString) DO WHILE lnDom <= lnMax lnDom = 2^lnPower lnNum = lnDecimal * lnDom IF ROUND(lnNum,0) == lnNum llSucess = .T. EXIT ENDIF lnPower = lnPower + 1 ENDDO IF NOT llSucess && Round to nearest fraction lnNum = ROUND((lnDecimal * lnMax), 0) lnDom = lnMax DO WHILE MOD(lnNum,2) = 0 AND MOD(lnDom,2) = 0 lnNum = lnNum / 2 lnDom = lnDom / 2 ENDDO ENDIF RETURN ALLTRIM(STR(lnNum)) + "/" + ALLTRIM(STR(lnDom))+["]Have a good WeekEnd!!!