yui*_*uiu 2 string-formatting rust
我想要由format!宏格式化的右对齐浮点数,标志始终可见.使用语法规范我设计了以下格式:
format!("{:>10+.1}", 23.3434);
Run Code Online (Sandbox Code Playgroud)
但是我得到了编译错误:
error: invalid format string: expected `'}'`, found `'+'`
--> src/main.rs:2:21
|
2 | let x = format!("{:>10+.1}", 23.3434);
| ^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
我正在使用Rust 1.25.0.
该规范清楚地给出了订单[[fill]align][sign]['#']['0'][width]:
align := '<' | '^' | '>'
sign := '+' | '-'
Run Code Online (Sandbox Code Playgroud)
因此,你不能在>和之间有一个数字+,宽度在符号之后:
format!("{:>10+.1}", 23.3434);
Run Code Online (Sandbox Code Playgroud)
这呈现为" +23.3".鉴于:
format!("{:>+010.1}", 23.3434);
Run Code Online (Sandbox Code Playgroud)
呈现为+0000023.3.
虽然为了可维护性,我建议使用
format!("{:>+0width$.prec$}", 23.3434, width=10, prec=1);
Run Code Online (Sandbox Code Playgroud)