#fractional #fraction #align #print #format

fraction_list_fmt_align

格式化任意分数数列(字符串或 f32/f64),以便在逐行打印时正确对齐。

6 个版本

0.3.1 2023 年 1 月 16 日
0.2.3 2020 年 12 月 10 日
0.1.0 2020 年 12 月 9 日

命令行界面 中排名 #324

每月下载量 41
用于 wambo

MIT 许可证

14KB
185

Rust 库:fraction_list_fmt_align

格式化任意分数数列(字符串或 f32/f64),以便在逐行打印时正确对齐。它还会移除不必要的零。这意味着它更倾向于返回 "7" 而不是 "7.000000"。

输入

a) 格式化的分数数字字符串列表

b) 或者 f32/f64 列表

示例

# Input
"-42"
"0.3214"
"1000"
"-1000.2"
"2.00000"

# Output
"  -42     "
"    0.3214"
" 1000     "
"-1000.2   "
"    2     "

用例

如果您想要将不同长度的多个分数数字写入终端或文件,并以对齐/格式化的方式显示。

std::fmt 的区别

  • 这比 println!()/format!() 更灵活,因为它可以根据多行的动态精度进行调整。
  • 这将移除不必要的零,即 "0.000" 将变为 "0"。

如何使用

use fraction_list_fmt_align::{fmt_align_fraction_strings, FractionNumber, fmt_align_fractions};

fn main() {
    let input_1 = vec![
        "-42",
        "0.3214",
        "1000",
        "-1000.2",
    ];
    let aligned_1 = fmt_align_fraction_strings(&input_1);
    println!("{:#?}", aligned_1);

    // or
    let input_2 = vec![
        FractionNumber::F32(-42.0),
        FractionNumber::F64(0.3214),
        FractionNumber::F64(1000.0),
        FractionNumber::F64(-1000.2),
    ];
    let max_precision = 4;
    let aligned_2 = fmt_align_fractions(&input_2, max_precision);
    println!("{:#?}", aligned_2);
}

MSRV

MSRV 是 1.56.1

无运行时依赖