| # thousands |
| |
| [![Build Status](https://travis-ci.org/tov/thousands-rs.svg?branch=master)](https://travis-ci.org/tov/thousands-rs) |
| [![Crates.io](https://img.shields.io/crates/v/thousands.svg?maxAge=2592000)](https://crates.io/crates/thousands) |
| [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE-MIT) |
| [![License: Apache 2.0](https://img.shields.io/badge/license-Apache_2.0-blue.svg)](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. |
| |