十六进制格式与填充零

时间:2018-02-25 10:14:23

标签: rust

将整数类型格式化为十六进制字符串时,我无法用零填充数字:

println!("{:#4x}", 0x0001 as u16) // => "0x1", but expected "0x0001"
println!("{:#02x}", 0x0001 as u16) // => "0x1", same

1 个答案:

答案 0 :(得分:5)

请注意,前导0x会计入长度,因此如果您想要打印为0x0001的内容,那么长度实际上将是6而不是4。

fn main() {
    println!("{:#06x}", 0x0001u16);
}

根据需要打印0x0001