使用javascript将阿拉伯数字转换为单词 [英] Convert Arabic numbers to words with javascript

查看:203
本文介绍了使用javascript将阿拉伯数字转换为单词的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找将数字转换为阿拉伯语单词的JavaScript函数

I am looking for JavaScript function to convert numbers to Arabic words

例如



  • 23>ثلاثةوعشرين

  • 53>ثلاثةوخمسون

  • ....> ....

我找到了一些解决方案,但这全是.net

I found some solutions but it is all .net

  • http://www.codeproject.com/Articles/112949/Number-To-Word-Arabic-Version
  • http://libstation.com/products/numbers-in-words/

我已经在网上搜索了,但是找不到任何解决方案(很好,我在用阿拉伯语搜索时听不懂;))

I have searched the web but could not find any solution ( well, i could not understand while searching in Arabic ;) )

推荐答案

您可以使用类似的功能:

You can do use similar function :

http://jsbin.com/jesoj/1/

零到百万:

function zeroToMillion(num) {
    num = (num + "").replace(" ", "");
    var exceptional = {0: "zero", 11: "eleven", 12: "twelve",
                       13: "thirteen", 14: "fourteen", 15: "fifteen",
                       16: "sixteen", 17: "seventeen", 18: "eighteen",
                       19: "nineteen"};

    var digit = ["", "one", "two", "three", "four", "five", "six",
                 "seven", "eight", "nine"]; // don't add zero
    var decade = ["", "ten", "twenty", "thirty", "forty", "fifty",
                  "sixty", "seventy", "eighty", "ninety"]; // don't add zero

    var largenumber = ["hundred", "thousand", "million", "billion"];

    var l = num.length-1,
        a = (num[l]) ? num[l] : 0,
        b = (num[l-1]) ? num[l-1] : 0,
        ba = ""+b+a,
        c = (num[l-2]) ? num[l-2] : 0,
        d = (num[l-3]) ? num[l-3] : 0,
        e = (num[l-4]) ? num[l-4] : 0,
        ed = ""+e+d,
        f = (num[l-5]) ? num[l-5] : 0,
        num_ab = (exceptional[ba]) ? exceptional[ba] : (decade[b]+" "+digit[a]),
        num_ed = (exceptional[ed]) ? exceptional[ed] : (decade[e]+" "+digit[d]),
        name_c = (c!==0) ? (digit[c]+" "+largenumber[0])+" " : "",
        name_d = (num_ed!==" ") ? (num_ed+" "+largenumber[1])+" " : "",
        name_f = (f!==0) ? (digit[f]+" "+largenumber[0])+" " : "";
    return name_f+name_d+name_c+num_ab;
}

零到一百:

function zeroToHundred(num) {
    num = num+""; // .toString();
    var exceptional = {0: "zero", 11: "eleven", 12: "twelve",
                       13: "thirteen", 14: "fourteen", 15: "fifteen",
                       16: "sixteen", 17: "seventeen", 18: "eighteen",
                       19: "nineteen", 100: "one hundred"};

    var digit = ["", "one", "two", "three", "four", "five", "six",
                 "seven", "eight", "nine"]; // don't add zero
    var decade = ["", "ten", "twenty", "thirty", "forty", "fifty",
                  "sixty", "seventy", "eighty", "ninety"]; // don't add zero

    if (exceptional[num]) {
        return exceptional[num];
    } else {
        var b = (num[1]) ? num[1] : num[0],
            a = (num[1]) ? num[0] : 0;
        return decade[a]+" "+digit[b];
    }
}

好翻译。

这篇关于使用javascript将阿拉伯数字转换为单词的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆