Go上的十进制到UpperCase十六进制字符串

时间:2014-11-26 00:41:26

标签: go printf

我在fmt.Sprintf函数中将Decimal转换为(修改的)Hex值,因为我形成了一个带有for循环的长字符串 - 但是想要的值是UpperCase而不是LowerCase Hex。这应该在哪里发生?在Dec to Hex转换?还是修改了strings.Join函数?

for ....{
b := []string{}
b = append(b, fmt.Sprintf("[%d=%s]", m.K, fmt.Sprintf("%016x", m.V)[2:14]))}

fmt.Fprintf(
            outputFile,
            "%d, 0, %d, %s, 0\n",
        ..,
        ..,
        ..,
        strings.Join(b, " "))

1 个答案:

答案 0 :(得分:3)

  

Package fmt

     

import" fmt"

     

打印

     

动词:

     

字符串和字节切片:

%x    base 16, lower-case, two characters per byte
%X    base 16, upper-case, two characters per byte

例如,

fmt.Sprintf("%016X", m.V)[2:14]