Sea*_*Hay 15 formatting string-formatting number-formatting rust
填充字符串的最简单方法是将左侧的0填充为0
"110"="00000110"
"11110000"="11110000"
我曾尝试使用format!宏,但它只用空间填充到右边:
format!("{:08}", string);
Run Code Online (Sandbox Code Playgroud)
She*_*ter 27
该fmt模块文档描述了所有格式选项:
填充/对齐
填充字符通常与
width参数一起提供 .这表示如果格式化的值小于width一些额外的字符将被打印在它周围.额外字符由指定fill,并且对齐可以是以下选项之一:
<- 参数在宽度列中左对齐width- 参数在宽度列中居中对齐^- 参数在宽度列中右对齐
assert_eq!("00000110", format!("{:0>8}", "110"));
// |||
// ||+-- width
// |+--- align
// +---- fill
Run Code Online (Sandbox Code Playgroud)
也可以看看:
作为Shepmaster答案的替代方案,如果你实际上是以数字而不是字符串开头,并且想要将其显示为二进制,那么格式化的方法是:
let n: u32 = 0b11110000;
// 0 indicates pad with zeros
// 8 is the target width
// b indicates to format as binary
let formatted = format!("{:08b}", n);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3725 次 |
| 最近记录: |