fmtastic

Crates.iofmtastic
lib.rsfmtastic
version0.2.1
sourcesrc
created_at2023-05-25 20:12:53.405827
updated_at2024-05-30 13:20:06.737539
descriptionFormat numbers using the unicode characters via the Display trait.
homepagehttps://github.com/bash/fmtastic
repositoryhttps://github.com/bash/fmtastic
max_upload_size
id874579
size41,311
Tau Gärtli (bash)

documentation

README

fmtastic ✨

Docs Crate Version

A fantastic, #![no_std]-friendly crate for fmting numbers using the appropriate unicode characters via the Display trait. ✨ Format as vulgar fractions, super- and subscript and more.

Contributions are welcome for more formats.

Features

Vulgar Fractions

Creates beautiful unicode fractions like ¼ or ¹⁰⁄₃.

use fmtastic::VulgarFraction;

assert_eq!("¹⁰⁄₃", format!("{}", VulgarFraction::new(10, 3)));
assert_eq!("¼", format!("{}", VulgarFraction::new(1, 4)));

Sub- and superscript

Formats integers as sub- or superscript.

use fmtastic::{Subscript, Superscript};

assert_eq!("x₁", format!("x{}", Subscript(1)));
assert_eq!("n²", format!("n{}", Superscript(2)));

Seven-Segment Digits

Formats an unsigned integer using seven-segment digits from the Legacy Computing block.

use fmtastic::Segmented;

assert_eq!("🯶🯲🯸", format!("{}", Segmented(628_u32)));

Tally Marks

Formats an unsigned integer as tally marks.

use fmtastic::TallyMarks;

assert_eq!("𝍷𝍷𝍷", TallyMarks(3_u32).to_string());
assert_eq!("𝍸𝍸𝍷𝍷", TallyMarks(12_u32).to_string());

Ballot Box

Formats a boolean as a ballot box.

use fmtastic::BallotBox;

assert_eq!("☑ Buy bread", format!("{} Buy bread", BallotBox(true)));
assert_eq!("☐ Do the dishes", format!("{} Do the dishes", BallotBox(false)));
assert_eq!("☒ Laundry", format!("{:#} Laundry", BallotBox(true)));

Docs

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 63

cargo fmt