将整数类型格式化为十六进制字符串时,我无法用零填充数字:
println!("{:#4x}", 0x0001 as u16) // => "0x1", but expected "0x0001"
println!("{:#02x}", 0x0001 as u16) // => "0x1", same
答案 0 :(得分:5)
请注意,前导0x
会计入长度,因此如果您想要打印为0x0001
的内容,那么长度实际上将是6而不是4。
fn main() {
println!("{:#06x}", 0x0001u16);
}
根据需要打印0x0001
。