Crates.io | thousands |
lib.rs | thousands |
version | 0.2.0 |
source | src |
created_at | 2018-09-16 21:22:37.781028 |
updated_at | 2019-10-20 03:15:00.370802 |
description | Adds digit separators to numbers, configurably. |
homepage | |
repository | https://github.com/tov/thousands-rs |
max_upload_size | |
id | 85033 |
size | 35,399 |
Provides a trait, Separable
, for formatting numbers with separators
between the digits. Typically this will be used to add commas or spaces
every three digits from the right, but can be configured via a
SeparatorPolicy
.
The simplest way to use the library is with trait Separable
’s method
separate_with_commas
method, which does what it sounds like:
use thousands::Separable;
assert_eq!( 12345 .separate_with_commas(), "12,345" );
assert_eq!( (-12345) .separate_with_commas(), "-12,345" );
assert_eq!( 9876.5.separate_with_commas(), "9,876.5" );
There are also methods separate_with_spaces
, separate_with_dots
, and
separate_with_underscores
, in case you, your culture, or your file
format prefer those separators.
However, it's also possible to pass a policy for different behavior:
use thousands::{Separable, SeparatorPolicy, digits};
let policy = SeparatorPolicy {
separator: ',',
groups: &[3, 2],
digits: digits::ASCII_DECIMAL,
};
assert_eq!( 1234567890.separate_by_policy(policy), "1,23,45,67,890" );
It’s on crates.io, so you can add
[dependencies]
thousands = "0.2.0"
to your Cargo.toml
.
This crate supports Rust version 1.22 and newer.