Func Bcd2Num para bcd priv x x='' #define tbl1 ':;<=>?' #define tbl2 'abcdef' for i=1 to len(bcd) _asc = asc(subs(bcd,i)) x=x+chr(bitshift(_asc,4)+48)+chr(bitand(_asc,15)+48) endf x=chrtran(x,tbl1,tbl2) retu val(left(x,len(x)-1)) * iif(inlist(right(x,1),'c','f'),1,-1)Wrote that on 9. March 1999, when these bit-oriented functions were in fPath.plb. Also keep in mind that this routine has no idea how many decimals does the result have. You'll have to divide it with 100 or whatever.