获取一个整数的十六进制表示,如数学

问题描述:

字符串是否有内置方式数学获得一个正整数的十六进制表示为字符串(字母更高的数字使用字母)?目前,我用我自己的执行情况获取一个整数的十六进制表示,如数学

toHexString[n_Integer] := 
StringJoin[ 
    ToString /@ 
    (IntegerDigits[n, 16] /. Thread[Range[10, 15] -> CharacterRange["A", "F"]]) 
] 

In[254]:= IntegerString[{16, 34, 110, 5676767}, 16] 

Out[254]= {"10", "22", "6e", "569edf"} 

,或者,如果你不喜欢的结果,标准小写字符:

In[255]:= ToUpperCase[IntegerString[{16, 34, 110, 5676767}, 16]] 

Out[255]= {"10", "22", "6E", "569EDF"} 

请注意,IntegerString有一个可选的第三个论据在生成按字母顺序排序时按正确顺序排列的一系列文件名非常有用:

In[256]:= Table["filename" <> IntegerString[i, 10, 4] <> ".jpg", {i, 1, 7}] 

Out[256]= {"filename0001.jpg", "filename0002.jpg", 
"filename0003.jpg", "filename0004.jpg", "filename0005.jpg", 
"filename0006.jpg", "filename0007.jpg"}