UNPKG

num2txt

Version:

Converts number to Vietnamese or English text with customized output.

68 lines (67 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tripletToVie = void 0; const unitNumbers = [ '', 'một ', 'hai ', 'ba ', 'bốn ', 'năm ', 'sáu ', 'bảy ', 'tám ', 'chín ', ]; function tripletToVie(triplet, index) { let currentTriplet = triplet; let string = ''; let isLessThanTen = false; let t = 100; let n = 0; let previousN = n; if (currentTriplet < 10 && currentTriplet > 0) { if (index > 0) string += 'không trăm linh '; string += unitNumbers[triplet]; isLessThanTen = true; } else if (currentTriplet < 100 && index > 0 && currentTriplet > 0) { string += 'không trăm '; } while (currentTriplet >= 1 && isLessThanTen === false) { previousN = n; n = Math.floor(currentTriplet / t); if (n === 5 && t === 1 && previousN > 0) { string += 'lăm '; break; } if (n === 1 && t === 1 && previousN > 1) { string += 'mốt '; break; } if (n === 4 && t === 1 && previousN >= 2) { string += 'tư '; break; } if (n > 1 || t !== 10) { string += unitNumbers[n]; } if (t === 100 && n !== 0) { string += 'trăm '; } else if (t === 10 && n === 1) { string += 'mười '; } else if (t === 10 && n >= 2) { string += 'mươi '; } if (t === 10 && n === 0) { string += 'linh '; } currentTriplet -= n * t; t = Math.floor(t / 10); } return string; } exports.tripletToVie = tripletToVie;