├── nodeDemo.js
├── package.json
├── LICENSE
├── .gitignore
├── README.md
├── demo.html
├── myanmarNumToWord.js
└── test
└── test.js
/nodeDemo.js:
--------------------------------------------------------------------------------
1 | const myanmarNumToWord = require('./myanmarNumToWord.js');
2 | myanmarNumToWord.convertToBurmeseWords(12345); // တစ်သောင်း နှစ်ထောင် သုံးရာ လေးဆယ့်ငါး
3 | myanmarNumToWord.convertToEnglishNumber('၁၂၃၄၅'); // 12345
4 | myanmarNumToWord.convertToBurmeseNumber(12345); // ၁၂၃၄၅
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "myanmar-num-to-word",
3 | "version": "0.0.4",
4 | "description": "Myanmar-Num-to-Word is simple Javascript module to convert Myanmar numbers **digits to words** plus **burmese numbers to english numbers** conversion.",
5 | "main": "myanmarNumToWord.js",
6 | "scripts": {
7 | "test": "mocha"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/stevenay/myanmar-num-to-word-js"
12 | },
13 | "keywords": [
14 | "myanmar-numbers", "number-to-word"
15 | ],
16 | "author": "SteveNay (naylinaung.softwarearchitect@gmail.com)",
17 | "license": "MIT",
18 | "bugs": {
19 | "url": "https://github.com/stevenay/myanmar-num-to-word-js/issues"
20 | },
21 | "homepage": "https://github.com/stevenay/myanmar-num-to-word-js#readme",
22 | "devDependencies": {
23 | "mocha": "^6.2.0"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Nick Doiron
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 | .idea/
9 |
10 | # Diagnostic reports (https://nodejs.org/api/report.html)
11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
12 |
13 | # Runtime data
14 | pids
15 | *.pid
16 | *.seed
17 | *.pid.lock
18 |
19 | # Directory for instrumented libs generated by jscoverage/JSCover
20 | lib-cov
21 |
22 | # Coverage directory used by tools like istanbul
23 | coverage
24 | *.lcov
25 |
26 | # nyc test coverage
27 | .nyc_output
28 |
29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
30 | .grunt
31 |
32 | # Bower dependency directory (https://bower.io/)
33 | bower_components
34 |
35 | # node-waf configuration
36 | .lock-wscript
37 |
38 | # Compiled binary addons (https://nodejs.org/api/addons.html)
39 | build/Release
40 |
41 | # Dependency directories
42 | node_modules/
43 | jspm_packages/
44 |
45 | # TypeScript v1 declaration files
46 | typings/
47 |
48 | # TypeScript cache
49 | *.tsbuildinfo
50 |
51 | # Optional npm cache directory
52 | .npm
53 |
54 | # Optional eslint cache
55 | .eslintcache
56 |
57 | # Optional REPL history
58 | .node_repl_history
59 |
60 | # Output of 'npm pack'
61 | *.tgz
62 |
63 | # Yarn Integrity file
64 | .yarn-integrity
65 |
66 | # dotenv environment variables file
67 | .env
68 | .env.test
69 |
70 | # parcel-bundler cache (https://parceljs.org/)
71 | .cache
72 |
73 | # next.js build output
74 | .next
75 |
76 | # nuxt.js build output
77 | .nuxt
78 |
79 | # vuepress build output
80 | .vuepress/dist
81 |
82 | # Serverless directories
83 | .serverless/
84 |
85 | # FuseBox cache
86 | .fusebox/
87 |
88 | # DynamoDB Local files
89 | .dynamodb/
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Myanmar-Num-to-Word
2 | **Myanmar-Num-to-Word** is simple Javascript module to convert Myanmar numbers **digits to words** plus **burmese numbers to english numbers** conversion.
3 |
4 | Available to test on [Demo](https://myan-num-to-word.herokuapp.com).
5 |
6 | ## Examples
7 | ### Numbers to Words
8 | 1 => တစ်
9 | 12 => တစ်ဆယ့်နှစ်
10 | 123 => တစ်ရာ နှစ်ဆယ့်သုံး
11 | 1234 => တစ်ထောင် နှစ်ရာ သုံးဆယ့်လေး
12 | 12345 => တစ်သောင်း နှစ်ထောင် သုံးရာ လေးဆယ့်ငါး
13 | 123456 => တစ်သိန်း နှင့် နှစ်သောင်း သုံးထောင် လေးရာ ငါးဆယ့်ခြောက်
14 | 1234567 => တစ်ဆယ့်နှစ်သိန်း နှင့် သုံးသောင်း လေးထောင် ငါးရာ ခြောက်ဆယ့်ခုနှစ်
15 | 12345678 => သိန်းတစ်ရာ နှစ်ဆယ့်သုံးသိန်း နှင့် လေးသောင်း ငါးထောင် ခြောက်ရာ ခုနှစ်ဆယ့်ရှစ်
16 | 123456789 => သိန်းတစ်ထောင် နှစ်ရာ သုံးဆယ့်လေးသိန်း နှင့် ငါးသောင်း ခြောက်ထောင် ခုနှစ်ရာ ရှစ်ဆယ့်ကိုး
17 | 1234567890 => သိန်းတစ်သောင်း နှစ်ထောင် သုံးရာ လေးဆယ့်ငါးသိန်း နှင့် ခြောက်သောင်း ခုနှစ်ထောင် ရှစ်ရာ ကိုးဆယ်
18 |
19 | ### Burmese to English and Vice Versa
20 | 0123456789 => ၀၁၂၃၄၅၆၇၈၉
21 | ၀၁၂၃၄၅၆၇၈၉ => 0123456789
22 |
23 | ## Features
24 | - Digits to Words
25 | - Burmese Numbers <=> English Numbers conversion
26 |
27 | For **Digits to Words** conversion, the library provides **2** modes - **Written** and **Speech**. In **Speech** mode, pronunciation rule shifts numerical place name (the tens, hundreds and thousands place) from the low tone to the creaky tone.
28 |
29 | Written Mode (Default) => တစ်ထောင် နှစ်ရာ သုံးဆယ့်လေး
30 | Speech Mode => တစ်ထောင့် နှစ်ရာ့ သုံးဆယ့်လေး
31 |
32 | **Digits to Words** can accept both burmese and english numbers input.
33 |
34 | ## Installation
35 | ##### Install using npm:
36 |
37 | ```
38 | npm install myanmar-num-to-word --save
39 | ```
40 |
41 | ##### In the browser
42 | You can simply include the CDN link, kindly provided by [unpkg](https://unpkg.com/myanmar-num-to-word@latest).
43 |
44 | ```
45 |
46 | ```
47 |
48 | ## Usages
49 |
50 | ### In browser
51 | ```
52 |
53 |
59 | ```
60 |
61 | ### In Node
62 | ```
63 | const myanmarNumToWord = require('myanmar-num-to-word');
64 | myanmarNumToWord.convertToBurmeseWords(12345); // တစ်သောင်း နှစ်ထောင် သုံးရာ လေးဆယ့်ငါး
65 | myanmarNumToWord.convertToBurmeseWords(12345, 'speech'); // တစ်သောင်း နှစ်ထောင့် သုံးရာ့ လေးဆယ့်ငါး
66 | myanmarNumToWord.convertToEnglishNumber('၁၂၃၄၅'); // 12345
67 | myanmarNumToWord.convertToBurmeseNumber(12345); // ၁၂၃၄၅
68 | ```
69 |
70 | ## Credit for Numerical Knowledge
71 | - [num-words](https://github.com/salmanm/num-words)
72 | - [Burmese Numerals](https://en.wikipedia.org/wiki/Burmese_numerals)
73 |
74 | ### License [MIT](./LICENSE)
--------------------------------------------------------------------------------
/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | Myanmar Numbers Js
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Myanmar Numbers
25 |
26 |
27 | developed by SteveNay
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | Myanmar number utilities tools - includes convert number into word, convert English number into Myanmar number
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/myanmarNumToWord.js:
--------------------------------------------------------------------------------
1 | (function (global) {
2 | 'use strict';
3 |
4 | function myanmarNumToWord() {
5 | var _myanmarNumToWord = {};
6 |
7 | var words = ['', 'တစ်', 'နှစ်', 'သုံး', 'လေး', 'ငါး', 'ခြောက်', 'ခုနှစ်', 'ရှစ်', 'ကိုး', 'တစ်ဆယ်'];
8 | var wordsConcat = words.slice(1).join('|');
9 |
10 | var numbers = {
11 | "၀": 0,
12 | "၁": 1,
13 | "၂": 2,
14 | "၃": 3,
15 | "၄": 4,
16 | "၅": 5,
17 | "၆": 6,
18 | "၇": 7,
19 | "၈": 8,
20 | "၉": 9
21 | };
22 |
23 | _myanmarNumToWord.convertToEnglishNumber = function (numberInput) {
24 | // convert to num to string
25 | numberInput = numberInput.toString();
26 |
27 | // check for wa lone cases
28 | numberInput = numberInput.replace(/([၁၂၃၄၅၆၇၈၉၀])ဝ/g, '$10');
29 | numberInput = numberInput.replace(/ဝ([၁၂၃၄၅၆၇၈၉၀])/g, '0$1');
30 |
31 | Object.keys(numbers).forEach(function (item) {
32 | const re = new RegExp(item, "g");
33 | numberInput = numberInput.replace(re, numbers[item]);
34 | });
35 |
36 | return numberInput;
37 | };
38 |
39 | _myanmarNumToWord.convertToBurmeseNumber = function (numberInput) {
40 | // convert to num to string
41 | numberInput = numberInput.toString();
42 |
43 | Object.keys(numbers).forEach(function (item) {
44 | const re = new RegExp(numbers[item], "g");
45 | numberInput = numberInput.replace(re, item);
46 | });
47 |
48 | return numberInput;
49 | };
50 |
51 | // We will add functions to our library here !
52 | // Just create a property to our library object.
53 | _myanmarNumToWord.convertToBurmeseWords = function (num, wordType = 'written') {
54 |
55 | if (!num) return num;
56 |
57 | // convert to english number first
58 | num = _myanmarNumToWord.convertToEnglishNumber(num);
59 |
60 | if (isNaN(num)) {
61 | throw new Error('Invalid number to convert.');
62 | }
63 |
64 | if ((num = num.toString()).length > 10) return 'overflow';
65 | var n = ('000000000' + num).substr(-10).match(/^(\d{1})(\d{1})(\d{1})(\d{2})(\d{1})(\d{1})(\d{1})(\d{2})$/);
66 |
67 | if (!n) return;
68 |
69 | var upperLakh = '';
70 | var lowerLakh = '';
71 | upperLakh += (n[1] != 0) ? 'သိန်း' + words[n[1][0]] + 'သောင်း' : '';
72 | upperLakh += (n[2] != 0) ? ((upperLakh != '') ? '' : 'သိန်း') + words[n[2][0]] + 'ထောင်' : '';
73 | upperLakh += (n[3] != 0) ? ((upperLakh != '') ? '' : 'သိန်း') + words[n[3][0]] + 'ရာ' : '';
74 |
75 | if ((n[4] != 0)) {
76 | if (words[n[4][0]] && !words[n[4][1]]) {
77 | upperLakh += ((upperLakh != '') ? '' : 'သိန်း') + words[n[4][0]] + 'ဆယ်';
78 | } else if (words[n[4][0]] || words[n[4][1]]) {
79 | upperLakh += (words[Number(n[4])] || words[n[4][0]] + 'ဆယ်' + words[n[4][1]]) + 'သိန်း';
80 | }
81 | }
82 |
83 | lowerLakh += (n[5] != 0) ? (words[Number(n[5])]) + 'သောင်း' : '';
84 | lowerLakh += (n[6] != 0) ? (words[Number(n[6])]) + 'ထောင်' : '';
85 | lowerLakh += (n[7] != 0) ? (words[Number(n[7])]) + 'ရာ' : '';
86 | lowerLakh += (n[8] != 0) ? (words[Number(n[8])] || words[n[8][0]] + 'ဆယ်' + words[n[8][1]]) : '';
87 |
88 | var final = (upperLakh !== '' && lowerLakh !== '') ? upperLakh + ' နှင့် ' + lowerLakh : upperLakh + lowerLakh;
89 |
90 | const re = new RegExp("(ဆယ်(?=" + wordsConcat + "))|(ရာ(?=" + wordsConcat + "))|(ထောင်(?=" + wordsConcat + "))|(သောင်း)", 'gi');
91 | final = final.replace(re, function ($0) {
92 | if ($0 == "ရာ")
93 | return (wordType == 'speech') ? "ရာ့ " : "ရာ ";
94 | else if ($0 == "ထောင်")
95 | return (wordType == 'speech') ? "ထောင့် " : "ထောင် ";
96 | else if ($0 == "ဆယ်")
97 | return "ဆယ့်";
98 | else
99 | return $0 + ' ';
100 | });
101 |
102 | return final.trim();
103 | }
104 |
105 | return _myanmarNumToWord;
106 | }
107 |
108 | if (typeof define === 'function' && define.amd) {
109 | define(function () {
110 | return myanmarNumToWord();
111 | });
112 |
113 | } else if (typeof exports !== 'undefined') {
114 | if (typeof module !== 'undefined' && module.exports) {
115 | exports = module.exports = myanmarNumToWord();
116 | }
117 | exports.myanmarNumToWord = myanmarNumToWord();
118 |
119 | } else if (typeof (global.myanmarNumToWord) === 'undefined') {
120 | global.myanmarNumToWord = myanmarNumToWord();
121 |
122 | }
123 |
124 | })(this); // We send the global variable withing our function
125 |
126 |
--------------------------------------------------------------------------------
/test/test.js:
--------------------------------------------------------------------------------
1 | var assert = require("assert");
2 | var myanmarNumbers = require("../myanmarNumtoWord");
3 |
4 | describe('Numbers:', function() {
5 | describe('Convert from Burmese to English Numbers', function() {
6 | it('should return 1 when given ၁', function(){
7 | assert.equal(1, myanmarNumbers.convertToEnglishNumber("၁"));
8 | });
9 |
10 | it('should return 10 when given ၁၀', function(){
11 | assert.equal(10, myanmarNumbers.convertToEnglishNumber("၁၀"));
12 | });
13 |
14 | it('should return 10 when given ten with walone ၁ဝ', function(){
15 | assert.equal(10, myanmarNumbers.convertToEnglishNumber("၁ဝ"));
16 | });
17 |
18 | it('should convert all burmese numbers to english numbers', function(){
19 | assert.equal(1234567890, myanmarNumbers.convertToEnglishNumber("၁၂၃၄၅၆၇၈၉၀"));
20 | });
21 | });
22 |
23 | describe('Convert from English to Burmese Numbers', function() {
24 | it('should return ၁ when given string 1', function(){
25 | assert.equal("၁", myanmarNumbers.convertToBurmeseNumber("1"));
26 | });
27 |
28 | it('should return ၁ when given number 1', function(){
29 | assert.equal("၁", myanmarNumbers.convertToBurmeseNumber(1));
30 | });
31 |
32 | it('should convert all english numbers to burmese numbers', function(){
33 | assert.equal("၁၂၃၄၅၆၇၈၉၀", myanmarNumbers.convertToBurmeseNumber(1234567890));
34 | });
35 | });
36 | });
37 |
38 | describe('Words:', function() {
39 | describe('Written', function() {
40 | describe('In English Digit', function() {
41 | it('should return တစ် for english 1 digit number', function(){
42 | assert.equal("တစ်", myanmarNumbers.convertToBurmeseWords("1"));
43 | });
44 |
45 | it('should return တစ်ဆယ် for english 2 digit number', function(){
46 | assert.equal("တစ်ဆယ်", myanmarNumbers.convertToBurmeseWords("10"));
47 | });
48 |
49 | it('should return တစ်ရာ for english 3 digit number', function(){
50 | assert.equal("တစ်ရာ", myanmarNumbers.convertToBurmeseWords("100"));
51 | });
52 |
53 | it('should return တစ်ရာ တစ်ဆယ့်တစ် for english number 111', function(){
54 | assert.equal("တစ်ရာ တစ်ဆယ့်တစ်", myanmarNumbers.convertToBurmeseWords("111"));
55 | });
56 |
57 | it('should return တစ်ထောင် တစ်ရာ တစ်ဆယ့်တစ် for english number 1111', function(){
58 | assert.equal("တစ်ထောင် တစ်ရာ တစ်ဆယ့်တစ်", myanmarNumbers.convertToBurmeseWords("1111"));
59 | });
60 |
61 | it('should return နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 23589', function(){
62 | assert.equal("နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("23589"));
63 | });
64 |
65 | it('should return သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 323589', function(){
66 | assert.equal("သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("323589"));
67 | });
68 |
69 | it('should return သိန်းငါးဆယ် for english number 5000000', function(){
70 | assert.equal("သိန်းငါးဆယ်", myanmarNumbers.convertToBurmeseWords("5000000"));
71 | });
72 |
73 | it('should return သိန်းငါးဆယ် နှင့် သုံးသောင်း for english number 5030000', function(){
74 | assert.equal("သိန်းငါးဆယ် နှင့် သုံးသောင်း", myanmarNumbers.convertToBurmeseWords("5030000"));
75 | });
76 |
77 | it('should return ငါးဆယ့်သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 5323589', function(){
78 | assert.equal("ငါးဆယ့်သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("5323589"));
79 | });
80 | })
81 |
82 | describe('In Burmese Digit', function() {
83 | it('should return တစ် for english 1 digit number', function(){
84 | assert.equal("တစ်", myanmarNumbers.convertToBurmeseWords("၁"));
85 | });
86 |
87 | it('should return တစ်ဆယ် for english 2 digit number', function(){
88 | assert.equal("တစ်ဆယ်", myanmarNumbers.convertToBurmeseWords("၁၀"));
89 | });
90 |
91 | it('should return တစ်ရာ for english 3 digit number', function(){
92 | assert.equal("တစ်ရာ", myanmarNumbers.convertToBurmeseWords("၁၀၀"));
93 | });
94 |
95 | it('should return တစ်ရာ တစ်ဆယ့်တစ် for english number 111', function(){
96 | assert.equal("တစ်ရာ တစ်ဆယ့်တစ်", myanmarNumbers.convertToBurmeseWords("၁၁၁"));
97 | });
98 |
99 | it('should return တစ်ထောင် တစ်ရာ တစ်ဆယ့်တစ် for english number 1111', function(){
100 | assert.equal("တစ်ထောင် တစ်ရာ တစ်ဆယ့်တစ်", myanmarNumbers.convertToBurmeseWords("၁၁၁၁"));
101 | });
102 |
103 | it('should return နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 23589', function(){
104 | assert.equal("နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("၂၃၅၈၉"));
105 | });
106 |
107 | it('should return သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 323589', function(){
108 | assert.equal("သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("၃၂၃၅၈၉"));
109 | });
110 |
111 | it('should return သိန်းငါးဆယ် for english number 5000000', function(){
112 | assert.equal("သိန်းငါးဆယ်", myanmarNumbers.convertToBurmeseWords("၅၀၀၀၀၀၀"));
113 | });
114 |
115 | it('should return သိန်းငါးဆယ် နှင့် သုံးသောင်း for english number 5030000', function(){
116 | assert.equal("သိန်းငါးဆယ် နှင့် သုံးသောင်း", myanmarNumbers.convertToBurmeseWords("၅၀၃၀၀၀၀"));
117 | });
118 |
119 | it('should return ငါးဆယ့်သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 5323589', function(){
120 | assert.equal("ငါးဆယ့်သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("၅၃၂၃၅၈၉"));
121 | });
122 | })
123 | });
124 |
125 | describe('Spoken', function() {
126 | describe('In English Digit', function() {
127 | it('should return တစ် for english 1 digit number', function(){
128 | assert.equal("တစ်", myanmarNumbers.convertToBurmeseWords("1", "speech"));
129 | });
130 |
131 | it('should return တစ်ဆယ် for english 2 digit number', function(){
132 | assert.equal("တစ်ဆယ်", myanmarNumbers.convertToBurmeseWords("10", "speech"));
133 | });
134 |
135 | it('should return တစ်ရာ for english 3 digit number', function(){
136 | assert.equal("တစ်ရာ", myanmarNumbers.convertToBurmeseWords("100", "speech"));
137 | });
138 |
139 | it('should return တစ်ရာ့ တစ်ဆယ့်တစ် for english number 111', function(){
140 | assert.equal("တစ်ရာ့ တစ်ဆယ့်တစ်", myanmarNumbers.convertToBurmeseWords("111", "speech"));
141 | });
142 |
143 | it('should return တစ်ထောင် တစ်ရာ တစ်ဆယ့်တစ် for english number 1111', function(){
144 | assert.equal("တစ်ထောင့် တစ်ရာ့ တစ်ဆယ့်တစ်", myanmarNumbers.convertToBurmeseWords("1111", "speech"));
145 | });
146 |
147 | it('should return နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 23589', function(){
148 | assert.equal("နှစ်သောင်း သုံးထောင့် ငါးရာ့ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("23589", "speech"));
149 | });
150 |
151 | it('should return သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 323589', function(){
152 | assert.equal("သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင့် ငါးရာ့ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("323589", "speech"));
153 | });
154 |
155 | it('should return သိန်းငါးဆယ် for english number 5000000', function(){
156 | assert.equal("သိန်းငါးဆယ်", myanmarNumbers.convertToBurmeseWords("5000000", "speech"));
157 | });
158 |
159 | it('should return သိန်းငါးဆယ် နှင့် သုံးသောင်း for english number 5030000', function(){
160 | assert.equal("သိန်းငါးဆယ် နှင့် သုံးသောင်း", myanmarNumbers.convertToBurmeseWords("5030000", "speech"));
161 | });
162 |
163 | it('should return ငါးဆယ့်သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 5323589', function(){
164 | assert.equal("ငါးဆယ့်သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင့် ငါးရာ့ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("5323589", "speech"));
165 | });
166 | })
167 |
168 | describe('In Burmese Digit', function() {
169 | it('should return တစ် for english 1 digit number', function(){
170 | assert.equal("တစ်", myanmarNumbers.convertToBurmeseWords("၁", "speech"));
171 | });
172 |
173 | it('should return တစ်ဆယ် for english 2 digit number', function(){
174 | assert.equal("တစ်ဆယ်", myanmarNumbers.convertToBurmeseWords("၁၀", "speech"));
175 | });
176 |
177 | it('should return တစ်ရာ for english 3 digit number', function(){
178 | assert.equal("တစ်ရာ", myanmarNumbers.convertToBurmeseWords("၁၀၀", "speech"));
179 | });
180 |
181 | it('should return တစ်ရာ့ တစ်ဆယ့်တစ် for english number 111', function(){
182 | assert.equal("တစ်ရာ့ တစ်ဆယ့်တစ်", myanmarNumbers.convertToBurmeseWords("၁၁၁", "speech"));
183 | });
184 |
185 | it('should return တစ်ထောင့် တစ်ရာ့ တစ်ဆယ့်တစ် for english number 1111', function(){
186 | assert.equal("တစ်ထောင့် တစ်ရာ့ တစ်ဆယ့်တစ်", myanmarNumbers.convertToBurmeseWords("၁၁၁၁", "speech"));
187 | });
188 |
189 | it('should return နှစ်သောင်း သုံးထောင့် ငါးရာ့ ရှစ်ဆယ့်ကိုး for english number 23589', function(){
190 | assert.equal("နှစ်သောင်း သုံးထောင့် ငါးရာ့ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("၂၃၅၈၉", "speech"));
191 | });
192 |
193 | it('should return သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 323589', function(){
194 | assert.equal("သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင့် ငါးရာ့ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("၃၂၃၅၈၉", "speech"));
195 | });
196 |
197 | it('should return သိန်းငါးဆယ် for english number 5000000', function(){
198 | assert.equal("သိန်းငါးဆယ်", myanmarNumbers.convertToBurmeseWords("၅၀၀၀၀၀၀", "speech"));
199 | });
200 |
201 | it('should return သိန်းငါးဆယ် နှင့် သုံးသောင်း for english number 5030000', function(){
202 | assert.equal("သိန်းငါးဆယ် နှင့် သုံးသောင်း", myanmarNumbers.convertToBurmeseWords("၅၀၃၀၀၀၀", "speech"));
203 | });
204 |
205 | it('should return ငါးဆယ့်သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင် ငါးရာ ရှစ်ဆယ့်ကိုး for english number 5323589', function(){
206 | assert.equal("ငါးဆယ့်သုံးသိန်း နှင့် နှစ်သောင်း သုံးထောင့် ငါးရာ့ ရှစ်ဆယ့်ကိုး", myanmarNumbers.convertToBurmeseWords("၅၃၂၃၅၈၉", "speech"));
207 | });
208 | })
209 | });
210 | });
--------------------------------------------------------------------------------