Ray Yates
: rayyates at, pdqcoders d0t com
04/16/2018 09:00 a.m.
04/16/2018 09:00 a.m.
If you are looking for a way to convert a hexadecimal number to decimal, the function below will do that.
<MvFUNCTIONNAME="hex2dec"PARAMETERS="num"STANDARDOUTPUTLEVEL=""><MvASSIGNNAME="l.num"VALUE="{ toupper(trim(l.num)) }>"<MvASSIGNNAME="l.len"VALUE="{ len(l.num) }>"<MvIFEXPR="{ l.len LT 1}>"<MvFUNCTIONRETURN></MvIF><MvASSIGNNAME="l.base"VALUE="{ 1 }>"<MvFORINDEX="l.pos"FIRST="{ 1 }"LAST="{ l.len }>"<MvASSIGNNAME="l.char_value"VALUE="{ asciivalue(substring(l.num, l.len - l.pos + 1, 1)) }>"<MvIFEXPR="{ (l.char_value GE 48) AND (l.char_value LE 57) }>"<MvASSIGNNAME="l.dec_val"VALUE="{ l.dec_val + ((l.char_value - 48) * l.base) }>"<MvELSEIFEXPR="{ (l.char_value GE 65) AND (l.char_value LE 70) }>"<MvASSIGNNAME="l.dec_val"VALUE="{ l.dec_val + ((l.char_value - 55) * l.base) }>"<MvELSE><MvASSIGNNAME="g.hex2dec_error"VALUE="Error: Invalid hex characters found.>"<MvFUNCTIONRETURN></MvIF><MvASSIGNNAME="l.base"VALUE="{ l.base * 16 }>"</MvFOR><MvFUNCTIONRETURNVALUE="{ l.dec_val }>"</MvFUNCTION>