Rust 格式化宏 -format--
在這篇文章中,讓我們探索使用格式說明符來格式化整數、十進制和字符串。
格式化整數
爲了按原樣格式化整數,我們必須將整數作爲參數傳遞給格式化宏:
println!("{}", format!("{}", 100));
對於具有特定位數的零位整數,在格式化宏中指定長度。在下面的例子中,我們將有一個最多 10 位的零填充整數:
println!("{}", format!("{:010}", 5));
將數字轉換爲二進制格式,只需在格式化宏中指定 #b:
println!("{}", format!("{:#b}", 50));
將數字轉換爲八進制格式,只需在格式化宏中指定 #o:
println!("{}", format!("{:#o}", 50));
將數字轉換爲十六進制格式,只需在格式化宏中指定 #x 或 #x:
println!("{}", format!("{:#x}", 50));
下面的例子,將格式化數字 10 億,可以使用 num_format crate 來實現:
[dependencies]
num-format = "0.4.4"
use num_format::ToFormattedString;
fn main() {
println!("{}", 1_000_000_000.to_formatted_string(&num_format::Locale::en));
}
在法語地區格式化數字 10 億:
println!("{}", 1_000_000_000.to_formatted_string(&num_format::Locale::fr));
在印度地區格式化數字 10 億:
println!("{}", 1_000_000_000.to_formatted_string(&num_format::Locale::en_IN));
以上語句的執行結果:
100
0000000005
0b110010
0o62
0x32
1,000,000,000
1 000 000 000
1,00,00,00,000
格式化小數
若要格式化具有特定精度的十進制數,可以使用以下說明符:
println!("{}", format!("{:.5}", 100.02));
如果十進制數超過給定的精度,則該數字將在第 n 個精度處四捨五入。下面的代碼輸出 100.02782:
println!("{}", format!("{:.5}", 100.02781839));
以上語句的執行結果:
100.02000
100.02782
格式化字符串
要以左對齊的方式格式化字符串,可以在宏中使用下面的說明符:
println!("{}", format!("{:<20}", "Rust is awesome"));
要在給定長度內對齊字符串的中心,我們可以在宏中使用下面的說明符:
println!("{}", format!("{:^20}", "Rust is awesome"));
要在給定長度內對字符串進行右對齊,可以在宏中使用下面的說明符:
println!("{}", format!("{:>20}", "Rust is awesome"));
如果你想用特定的字符填充空白,我們只需要在說明符中各自的符號 (^,>,<) 之前指定特定的字符:
println!("{}", format!("{:*^20}", "Rust is awesome"));
我們也可以使用上面的說明符來對齊整數。
以上語句的執行結果:
Rust is awesome
Rust is awesome
Rust is awesome
**Rust is awesome***
本文翻譯自:
https://dev.to/ssivakumar/rust-formatting-881
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/ULgEndpByD-KtwF4EIU6Zw