Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/narze/baht.js
Convert number to Thai Baht format, but faster [O(n)] & fully typed.
https://github.com/narze/baht.js
baht hacktoberfest thai thai-language typescript
Last synced: 4 days ago
JSON representation
Convert number to Thai Baht format, but faster [O(n)] & fully typed.
- Host: GitHub
- URL: https://github.com/narze/baht.js
- Owner: narze
- License: mit
- Created: 2021-10-09T17:42:07.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-03T15:39:57.000Z (2 months ago)
- Last Synced: 2024-11-01T18:39:01.668Z (11 days ago)
- Topics: baht, hacktoberfest, thai, thai-language, typescript
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/baht
- Size: 662 KB
- Stars: 59
- Watchers: 3
- Forks: 21
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Baht.js
[![install size](https://packagephobia.com/badge?p=baht)](https://packagephobia.com/result?p=baht)
Convert number to Thai Baht format, but faster & fully typed.
## Demo
- https://baht-js.vercel.app
## Usage
- Install with npm or yarn
```shell
npm install baht
# or
yarn add baht
```- Import and use
```javascript
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
```shell
yarn benchmarkbaht 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
```shell
yarn benchmarkbaht (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
```shell
yarn benchmarkbaht (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
```shell
yarn benchmarkbaht (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