Created
March 19, 2017 20:01
-
-
Save ndthanh/4d2ca0a24d5bc974d501e6e4397de9a6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// code by: Thanh ND | |
// Copy as you wish. No attribution required. | |
var mangso = ['không', 'một', 'hai', 'ba', 'bốn', 'năm', 'sáu', 'bảy', 'tám', 'chín']; | |
function dochangchuc(so, daydu) { | |
var chuoi = ""; | |
chuc = Math.floor(so / 10); | |
donvi = so % 10; | |
if (chuc > 1) { | |
chuoi = " " + mangso[chuc] + " mươi"; | |
if (donvi == 1) { | |
chuoi += " mốt"; | |
} | |
} else if (chuc == 1) { | |
chuoi = " mười"; | |
if (donvi == 1) { | |
chuoi += " một"; | |
} | |
} else if (daydu && donvi > 0) { | |
chuoi = " lẻ"; | |
} | |
if (donvi == 5 && chuc >= 1) { | |
chuoi += " lăm"; | |
} else if (donvi > 1 || (donvi == 1 && chuc == 0)) { | |
chuoi += " " + mangso[donvi]; | |
} | |
return chuoi; | |
} | |
function docblock(so, daydu) { | |
var chuoi = ""; | |
tram = Math.floor(so / 100); | |
so = so % 100; | |
if (daydu || tram > 0) { | |
chuoi = " " + mangso[tram] + " trăm"; | |
chuoi += dochangchuc(so, true); | |
} else { | |
chuoi = dochangchuc(so, false); | |
} | |
return chuoi; | |
} | |
function dochangtrieu(so, daydu) { | |
var chuoi = ""; | |
trieu = Math.floor(so / 1000000); | |
so = so % 1000000; | |
if (trieu > 0) { | |
chuoi = docblock(trieu, daydu) + " triệu"; | |
daydu = true; | |
} | |
nghin = Math.floor(so / 1000); | |
so = so % 1000; | |
if (nghin > 0) { | |
chuoi += docblock(nghin, daydu) + " nghìn"; | |
daydu = true; | |
} | |
if (so > 0) { | |
chuoi += docblock(so, daydu); | |
} | |
return chuoi; | |
} | |
function docso(so) { | |
if (so == 0) return mangso[0]; | |
var chuoi = "", | |
hauto = ""; | |
do { | |
ty = so % 1000000000; | |
so = Math.floor(so / 1000000000); | |
if (so > 0) { | |
chuoi = dochangtrieu(ty, true) + hauto + chuoi; | |
} else { | |
chuoi = dochangtrieu(ty, false) + hauto + chuoi; | |
} | |
hauto = " tỷ"; | |
} while (so > 0); | |
return chuoi; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment