1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
# thousands
[](https://travis-ci.org/tov/thousands-rs)
[](https://crates.io/crates/thousands)
[](LICENSE-MIT)
[](LICENSE-APACHE)
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`.
## Examples
The simplest way to use the library is with trait `Separable`’s method
`separate_with_commas` method, which does what it sounds like:
```rust
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:
```rust
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" );
```
## Usage
It’s [on crates.io](https://crates.io/crates/thousands), so you can add
```toml
[dependencies]
thousands = "0.2.0"
```
to your `Cargo.toml`.
This crate supports Rust version 1.22 and newer.
|