Share
Go down
Admin
Tổng số bài gửi : 389
Points : 704
Reputation : 0
Join date : 11/10/2018
Xem lý lịch thành viênhttp://thanthan.forumvi.com

VND currency amounts of money converter to words

on Fri Oct 12, 2018 3:37 pm
Code:
function join_unit(n) {
    try {
        var sokytu = n.length;
        var sodonvi = parseInt((sokytu % 3 > 0) ? (sokytu / 3 + 1) : (sokytu / 3));
        n = n.padStart(sodonvi * 3, '0');
        sokytu = n.length;
        var string = "";
        var i = 1;
        while (i <= sodonvi) {
            if (i == sodonvi)
                string = join_number((parseInt(n.substring(sokytu - (i * 3), sokytu - (i * 3) + 3))).toString()) + unit(i) + string;
            else
                string = join_number(n.substring(sokytu - (i * 3), sokytu - (i * 3) + 3)) + unit(i) + string;
            i += 1;
        } return string;
    } catch (error) {
        console.log(error);
    }
}

function join_number(n) {
    try {
        var string = "";
        var i = 1; j = n.length;
        while (i <= j) {
            switch (i) {
                case 1:
                    string = convert_number(n.substring(j - i, j - i + 1)) + string;
                    break;
                case 2:
                    string = convert_number(n.substring(j - i, j - i + 1)) + " mươi " + string;
                    break;
                case 3:
                    string = convert_number(n.substring(j - i, j - i + 1)) + " trăm " + string;
                    break;
            } i += 1;
        } return string;
    } catch (error) {
        console.log(error);
    }
}

function unit(n) {
    try {
        var string = "";
        switch (n) {
            case 1:
                string = " đồng";
                break;
            case 2:
                string = " nghìn ";
                break;
            case 3:
                string = " triệu ";
                break;
            case 4:
                string = " tỷ ";
                break;
            case 5:
                string = " nghìn tỷ ";
                break;
            case 6:
                string = " triệu tỷ ";
                break;
            case 7:
                string = " tỷ tỷ ";
                break;
        } return string;
    } catch (error) {
        console.log(error);
    }
}

function convert_number(n) {
    try {
        var string = "";
        switch (n) {
            case "0":
                string = "không";
                break;
            case "1":
                string = "một";
                break;
            case "2":
                string = "hai";
                break;
            case "3":
                string = "ba";
                break;
            case "4":
                string = "bốn";
                break;
            case "5":
                string = "năm";
                break;
            case "6":
                string = "sáu";
                break;
            case "7":
                string = "bảy";
                break;
            case "8":
                string = "tám";
                break;
            case "9":
                string = "chín";
                break;
        } return string;
    } catch (error) {
        console.log(error)
    }
}

function replace_spacial_word(string) {
    try {
        string = string.replace(/không mươi không /gm, "");
        string = string.replace(/không mươi/gm, "lẻ");
        string = string.replace(/i không/gm, "i");
        string = string.replace(/i năm/gm, "i lăm");
        string = string.replace(/một mươi/gm, "mười");
        string = string.replace(/mươi một/gm, "mươi mốt");
        return string;
    } catch (error) {
        console.log(error);
    }
}

function myTrim(string) {
    return string.replace(/(\s)+/gm, " ");
}

function converterToWords(numbers) {
    try {
        var moneyNumbers = numbers.toString();
        var convert = myTrim(replace_spacial_word(join_unit(moneyNumbers.toString("#"))));
        var moneyWords =convert.slice(0, 1).toUpperCase() + convert.slice(1, convert.length);
        return moneyWords;
    } catch (error) {
        console.log(error);
    }
}
Về Đầu Trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết