Code Monkey home page Code Monkey logo

rust-separator's Introduction

crates.io Build Status

rust-separator

NOTE: This crate is entirely superseded by the very excellent num-format, which has all the features of separator and much, much more. I highly recommend using num-format instead of this crate.

Formats numbers into strings with thousands separators for readability. It currently supports floating-points (f32 and f64), unsigned integers (u16, u32, u64, u128), signed integers (i16, i32, i64, i128), and size types (isize and usize).

Usage

First, put separator as a dependency in your Cargo.toml as usual:

[dependencies]
separator = "0.3.1"

Then, import the Separatable trait, and call the separated_string on a number:

extern crate separator;

use separator::Separatable;

fn main() {
  let f = -120000000.34345;

  // Prints "-12,000,000.34345"
  println!("{}", f.separated_string());
}

rust-separator's People

Contributors

nemo157 avatar saghm avatar windwardly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

nemo157

rust-separator's Issues

Can not working for u128

my code

use separator::Separatable;

fn main() {
    // Create a stack-allocated buffer...
    // let f = -120000000.34345;

    let x : u128 = 271828182845904523;

    // Prints "-12,000,000.34345"
    // println!("{}", f.separated_string());
    println!("{}",  &x.separated_string());
}

next is error info:

error[E0599]: no method named `separated_string` found for type `u128` in the current scope
  --> src/main.rs:15:24
   |
15 |     println!("{}",  &x.separated_string());
   |                        ^^^^^^^^^^^^^^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0599`.
error: Could not compile `numfmt`.

[feature request] adapt to print with given digit

let m = 10000.0 / 3.0;
// print 3333.33
println!("{:.2}", m);
// print 3,333.3333333333335
println!("{:}", m.separated_string());
// expectedd print 3,333.33
// actual print 3,
println!("{:.2}", m.separated_string());

rustc version: 1.52.1

[feature request] support for non-3 digit groupings

In some localizations, numbers are grouped in blocks of 4, instead of 3. It would be nice to have an option to pass this in when calling the string method.

If you'd like, I can take a stab at implementing this sometime if you give me some pointers.

impl Separatable for usize

It would be helpful to have a usize implementation as well. I have to cast to u64 as a work-around now. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.