Expand description
Implementation of fmt::Display for GenericFraction and Sign structures
Complete support of the std::fmt formatting syntax with exceptions for alternate integer types (hexadecimal, octal, binary)
There are a couple of extensions on top of std::fmt, which are
- Alternate flag (
#
) is used to enabletrailing zeroes
output - Negative sign (
-
) is used to suppress sign output (even negative)
Otherwise, the standard formatting is followed as is.
Examples
use fraction::prelude::Fraction;
let fraction = Fraction::from(1.75);
assert_eq!("7/4", format!("{}", fraction));
assert_eq!("1.75", format!("{:.4}", fraction));
assert_eq!("1.7500", format!("{:#.4}", fraction));
assert_eq!("-1.75", format!("{:.2}", -fraction));
assert_eq!("1.75", format!("{:-.2}", -fraction));
Structs
- Same as fmt::Formatter, but allowing to change flags so we can reuse it in recursive format implementations