3 unstable releases
0.2.1 | May 30, 2024 |
---|---|
0.2.0 | Jan 24, 2024 |
0.1.0 | May 25, 2023 |
#64 in Value formatting
48 downloads per month
Used in four-bar
29KB
542 lines
fmtastic ✨
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
- Apache License, Version 2.0 (license-apache.txt or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (license-mit.txt or http://opensource.org/licenses/MIT)
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.