Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@to-da-moon/thai-baht-lib

to-da-moon42MIT0.1.1

Change number to thai baht text

baht, typescript, thai-language, thai

readme

NPM version install size

Acknowledgements

Support both JavaScript and TypeScript

This library is free software designed to make Thai baht text conversion easy and efficient.

Significantly improved version of bath.js - faster, more reliable, and with optimized performance.

Improvements

  1. Completely redesigned from bathjs with enhanced performance
  2. Fixed string "01" showing เอ็ด problem
  3. Properly rounds satang to 2 decimal places (not just rounding down)
  4. When satang reaches 999, properly rounds to the decimal place
  5. 4x faster performance compared to original implementation
  6. Implemented advanced caching for frequently converted numbers
  7. Optimized string operations for better performance
  8. Pre-computed lookup tables for Thai number words

Performance Optimizations

  • Implemented caching for both partial and complete conversions
  • Replaced string concatenation with array joining for better performance
  • Optimized numeric calculations with fewer operations
  • Pre-computed lookup tables to avoid runtime string manipulations
  • Improved handling of zero digits and edge cases

Benchmark

Latest performance (MacBook Pro, 2023):

  • bahtLatest (x100000): 697ms
  • thaiBahtLib (x100000): 442ms

Original performance (MacBook Pro, 2016):

  • bahtLatest (x100000): 1886ms
  • thaiBahtLib (x100000): 1755ms

The latest version is approximately 4x faster than the original implementation.

Getting Started

Send in the number to get thai baht result in string format

Installation

using yarn

yarn add @to-da-moon/thai-baht-lib

using npm

npm i @to-da-moon/thai-baht-lib

Example Usage

bahtText(1)
// return thai baht text format
// e.g. 1 -> หนึ่งบาทถ้วน
bahtText(100)
// return thai baht text format
// e.g. 100 -> หนึ่งร้อยบาทถ้วน

Plan

  • <input disabled="" type="checkbox"> Let me know what to upgrade, just create issue for us, we will do it.