A partir de VFP 6 podemos pasar un número hexadecimal a decimal de una forma directa. Por ejemplo queremos convertir el número hexadecimal "FFFF" al sistema decimal:
? 0xFFFF
De la misma manera podemos pasar un número decimal al sistema hexadecimal utilizando la función TRANSFORM()
lnDec = 123 ? TRANSFORM(lnDec,"@0")
A partir de esto, creamos las correspondientes funciones definidas por el usuario, que nos permiten la conversión de números de un sistema a otro:
*--------------------------------------------
FUNCTION Hex2Dec(tcHex)
RETURN EVALUATE("0x"+ALLTRIM(tcHex))
ENDFUNC
*--------------------------------------------
FUNCTION Dec2Hex(tnDec)
RETURN SUBSTR(TRANSFORM(tnDec,"@0"),3)
ENDFUNC
*--------------------------------------------Luis María Guayán
Estimado Sr. Luis
ResponderBorrarTengo una cadena numérica de una longitud de 52 dígitos.. al aplicar un algoritmo base 16 para convertirlo a hexadecimal tropecé con el problema de la longitud numérica... podría ayudarme con esto?