4 releases
0.2.1 | Oct 1, 2023 |
---|---|
0.2.0 | Sep 29, 2023 |
0.1.1 | Sep 27, 2023 |
0.1.0 | Sep 27, 2023 |
#2049 in Rust patterns
68 downloads per month
Used in 3 crates
(2 directly)
21KB
408 lines
SimpleByteUnit
SimpleByteUnit is a crate which provides a thin encapsulate for integer primitives to facilitate a fast, simple, yet ergonomic byteunit implementation.
Usage
Add 'simplebyteunit' to your 'Cargo.toml':
[dependencies]
simplebyteunit = "0.2.0"
Example
Generate a human-readable, formatted ByteUnit:
use simplebyteunit::simplebyteunit::*;
let byteunit_var = 500000.to_byteunit(SI);
println!("{byteunit_var}");
Output:
500 kB
lib.rs
:
A thin encapsulate for integer primitives to facilitate a fast, simple, yet ergonomic byteunit implementation.
Getting Started
Add 'simplebyteunit' to your 'Cargo.toml':
[dependencies]
simplebyteunit = "0.2.0"
Example
Generate a human-readable, formatted ByteUnit:
use simplebyteunit::simplebyteunit::*;
let byteunit_var = 500000.to_byteunit(SI);
assert_eq!(byteunit_var.to_string(), "500.00 kB");
Simple arithmetic operations
Addition, subtraction, multiplication, subtraction, and division are supported on this type.
use simplebyteunit::simplebyteunit::*;
let a: ByteUnit<i64> = ByteUnit::SI(500000);
let b: ByteUnit<i64> = ByteUnit::SI(500000);
assert_eq!(a + b, "1.0 MB".into());
Equal/and/or operations
Equal operations are supported on this type:
use simplebyteunit::simplebyteunit::*;
let a: ByteUnit<i64> = "500 KiB".into();
let b: ByteUnit<i64> = "500 KiB".into();
assert_eq!(a == b, true);
Or operations are also supported on this type:
use simplebyteunit::simplebyteunit::*;
let a: ByteUnit<i64> = 5000000.to_byteunit(IEC);
let b: ByteUnit<i64> = 5000000.to_byteunit(IEC);
assert_eq!(a >= b, true);