带填充零的十六进制格式
Posted
技术标签:
【中文标题】带填充零的十六进制格式【英文标题】:Hexadecimal formatting with padded zeroes 【发布时间】:2018-02-25 10:14:23 【问题描述】:将整数类型格式化为十六进制字符串时,我无法用零填充数字:
println!(":#4x", 0x0001 as u16) // => "0x1", but expected "0x0001"
println!(":#02x", 0x0001 as u16) // => "0x1", same
【问题讨论】:
您的第二个问题与this one重复 实际上,第一个println!
打印 `0x1`(带有前导空格),第二个打印 0x01
。您只需要考虑 0x
计入请求的长度。 println!(":#06x", 0x0001 as u16);
将打印 0x0001
。
【参考方案1】:
请记住,前导 0x
计入长度,因此如果您想要打印为 0x0001
的内容,那么长度实际上是 6,而不是 4。
fn main()
println!(":#06x", 0x0001u16);
这会根据需要打印0x0001
。
【讨论】:
以上是关于带填充零的十六进制格式的主要内容,如果未能解决你的问题,请参考以下文章