readable 0.3.3

Human readable data formatting
Documentation

Readable

Windows macOS Linux crates.io docs.rs

Human readable data formatting.

This crate turns various data into human-readable strings.

For performance, the actual string used internally is not a String, but a CompactString so that any string 24 bytes (12 bytes on 32-bit) or less are stack allocated instead of heap allocated.

The documentation will still refer to the inner string as a String. Anything returned will also be a String.

Feature flags

Flag Purpose
serde Enable serde on all types
ignore_nan_inf Disable checking f64's for f64::NAN, f64::INFINITY, and f64::NEG_INFINITY

Examples

Integers

let a = readable::Int::from(1000);
println!("{}", a);

> 1,000

Floats

let a = readable::Float::from(1000.123);
let b = readable::Float::percent(1000.123);
println!("{}", a);
println!("{}", b);

> 1,000.123
> 1,000.12%

Runtime

let a = readable::Runtime::from(11111.1);
println!("{}", a);

> 3:05:11

Time

let a = std::time::Duration::from_secs(86399);
let b = readable::Time::from(time);
println!("{}", b);

> 23 hours, 59 minutes, 59 seconds