2 unstable releases

✓ Uses Rust 2018 edition

0.2.1 Apr 27, 2019
0.1.1 Apr 24, 2019

#56 in Value formatting

31 downloads per month

MIT license

10KB
153 lines

Lotus

Basic currency and number formatting library.

Installation

  1. Add the following lines to your Cargo.toml
[dependencies]
Lotus = "0.1.1" 
  1. Use it in your crate:
extern crate Lotus;
use Lotus::*;

Usage

Here are some examples which illustrate the library functionality. Please read the documentation as well.

extern crate Lotus;
use Lotus::*;

// Builder format (recommended)
let rupee = LotusBuilder::default()
    .symbol("Rs.")
    .precision(1)
    .format_positive("{symbol} {value}")
    .format_negative("{symbol} ({value})")
    .format_zero("{symbol} 0.00")
    .decimal_str(".")
    .thousand_str(" ")
    .build()
    .unwrap();
assert_eq!("Rs. 2 000 000.0", rupee.format(2_000_000));
assert_eq!("Rs. (2 000.0)", rupee.format(-2000));
assert_eq!("Rs. 0.00", rupee.format(0));

// Using Lotus::new()
let dollar = Lotus::new("$", 3); // Lotus::new(symbol, precision)
assert_eq!("$ 50,000.035", dollar.format(50_000.035));

// Using lotus! macro
let f = lotus!(150, "$");     // lotus!(number, symbol)
assert_eq!("$ 150.00", f);

let g = lotus!(2_000_000);    // lotus!(number)
assert_eq!("2,000,000.00", g);

Other Programming Languages

Dependencies

~1.5MB
~35K SLoC