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
- Completely redesigned from bathjs with enhanced performance
- Fixed string "01" showing เอ็ด problem
- Properly rounds satang to 2 decimal places (not just rounding down)
- When satang reaches 999, properly rounds to the decimal place
- 4x faster performance compared to original implementation
- Implemented advanced caching for frequently converted numbers
- Optimized string operations for better performance
- 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.