Skip to content
/ baht.js Public

Convert number to Thai Baht format, but faster [O(n)] & fully typed.

License

Notifications You must be signed in to change notification settings

narze/baht.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Baht.js

NPM version install size

Convert number to Thai Baht format, but faster & fully typed.

Demo

Usage

  • Install with npm or yarn

    npm install baht
    # or
    yarn add baht
  • Import and use

    import { convert } from 'baht';
    
    convert(42); // "สี่สิบสองบาทถ้วน"
    convert(123.45); // "หนึ่งร้อยยี่สิบสามบาทสี่สิบห้าสตางค์"

Features

  • Converts number to Thai Baht formatted string.
  • Converts long number (Use string format to prevent precision loss.)
  • Supports 2 decimal places (Satangs), for over 2 decimal places it will round down.
  • Supports negative number.

Benchmark

Run the benchmark to measure the speed among other libraries.

  • Apple Macbook Pro M1

    yarn benchmark
    
    baht 0.5.0 (x100000): 355ms
    baht 0.4.0 (x100000): 665ms
    baht 0.3.2 (x100000): 2968ms
    thaiBahtLib (x100000): 3189ms
    bahttext (x100000): 3503ms
    BAHTTEXT.js (x100000): 4816ms
    thai-baht-text-ts (x100000): 7710ms
    thai-baht-text (x100000): 8525ms
  • Apple Macbook Pro with Node v14.16.0

    yarn benchmark
    
    baht (x100000): 648ms
    bahtLatest (x100000): 1393ms
    thaiBahtLib (x100000): 5855ms
    bahttext (x100000): 5664ms
    BAHTTEXT.js (x100000): 8145ms
    thai-baht-text (x100000): 15730ms
    thai-baht-text-ts (x100000): 15734ms
  • Apple Macbook Pro 16-inch (i7, 16GB) with Node v16.12.0

    yarn benchmark
    
    baht (x100000): 484ms
    bahtLatest (x100000): 1044ms
    thaiBahtLib (x100000): 4753ms
    bahttext (x100000): 5120ms
    BAHTTEXT.js (x100000): 7427ms
    thai-baht-text (x100000): 13208ms
    thai-baht-text-ts (x100000): 12344ms
  • Intel(R) Xeon(R) Platinum 8259CL CPU @2.50GHz (64-bit) with Node v14.16.1

    yarn benchmark
    
    baht (x100000): 684ms
    bahtLatest (x100000): 1589ms
    thaiBahtLib (x100000): 7366ms
    bahttext (x100000): 7166ms
    BAHTTEXT.js (x100000): 11513ms
    thai-baht-text (x100000): 19315ms
    thai-baht-text-ts (x100000): 17400ms

Baht.js is the fastest!

LICENSE

MIT