Javascript 如何将数字转换为印度货币格式的word

Javascript 如何将数字转换为印度货币格式的word,javascript,pdf,adobe,acrobat,adobe-javascript,Javascript,Pdf,Adobe,Acrobat,Adobe Javascript,我有一个带有此字段的pdf表单 1.Invoice 2.Date 3.Truck No 4.Party Name 5.Party Place 6.City 7.GSTIN 8.Product 9.HSN 10.QTY 11.Rate 12.Amount 13.CGST 14.SGST 15.Total 16.Number 我需要通过javascript将我的数字转换为word 示例:5279.40=二百七十九和四十派斯 我想转换字段“金额”(这是我的数字字段) 在“数字”字段中输入数字

我有一个带有此字段的pdf表单

1.Invoice
2.Date
3.Truck No 
4.Party Name
5.Party Place 
6.City
7.GSTIN
8.Product
9.HSN
10.QTY
11.Rate
12.Amount
13.CGST
14.SGST
15.Total
16.Number

我需要通过javascript将我的数字转换为word

示例:5279.40=二百七十九和四十派斯

我想转换字段“金额”(这是我的数字字段) 在“数字”字段中输入数字

我希望在字段“NUmber”中输出

我使用了一个脚本来转换这个数字 这是我的保管密码

function ConvertToWords(num)
    {
    var aUnits = [ "Thousand", "Million", "Billion", "Trillion", "Quadrillion" ];
    var cWords = "and ";
    // var cWords = (num >= 1 && num < 2) ? "Dollar and " : "Dollars and "; // use for spelled out words
    var nLeft = Math.floor(num);
    for (var i = 0; nLeft > 0; i++) { 
    if (nLeft % 1000 > 0) {
    if (i != 0)
    cWords = ConvertToHundreds(nLeft) + " " + aUnits[i - 1] + " " + cWords;
    else
    cWords = ConvertToHundreds(nLeft) + " " + cWords;
           }
    nLeft = Math.floor(nLeft / 1000);
       }
    num = Math.round(num * 100) ;
    cWords += util.printf("%,102/100 Dollars", num); // numerical cents
    /* for spelled out cents
    if (num > 0) {
    cWords += ConvertToHundreds(num) + " Cents"; // spelled out cents
    } else {
    cWords += "Zero Cents";
        } 
    */
    return cWords;
    }
但是这个脚本不会提供我需要的输出 its不显示字段中小数点后的金额(“金额”)

如图1.1所示

或者这段代码又犯了一个错误,如图1.2所示

(“数字”字段中仅显示40,但“金额”字段中我的金额为5040.00)

请给我一个建议或代码来解决我的问题

请不要给我问题的副本,我已经在搜索这个问题了”
“没有解决方案或代码可以将数字转换为印度货币的文字,我发现答案很少,但它们不适用于印度货币

我用它将印度卢比的金额转换为印度卢比的文字值。基本上,如果我们生成角度为7+或更高的管道,它可以与typescript配合使用。有关angular中管道的更多信息,请浏览url

用paise转换印度卢比金额(大写)
我用它把印度卢比的金额转换成大写的paise值。基本上,如果我们生成角度为7+或更高的管道,它可以与typescript配合使用。有关angular中管道的更多信息,请浏览url

用paise转换印度卢比金额(大写)
你能不能也添加ConvertTo数百()的可能副本?是的,我添加了ConvertTo数百及其工作,但其输出不是我想要的。你能不能也添加ConvertTo数百()的可能副本?是的,我添加ConvertTo数百及其工作,但其输出不是我想要的。你能为你的代码添加一些解释吗,所以人们可以理解,你的代码在做什么?我希望它是好的。你能为你的代码添加一些解释,让人们可以理解,你的代码在做什么?我希望它是好的。
        var f = this.getField("Total");

    event.value = ConvertToHundreds(f.value);
a = [
    '',
    'One ',
    'Two ',
    'Three ',
    'Four ',
    'Five ',
    'Six ',
    'Seven ',
    'Eight ',
    'Nine ',
    'Ten ',
    'Eleven ',
    'Twelve ',
    'Thirteen ',
    'Fourteen ',
    'Fifteen ',
    'Sixteen ',
    'Seventeen ',
    'Eighteen ',
    'Nineteen '];
b = [
    '',
    '',
    'Twenty',
    'Thirty',
    'Forty',
    'Fifty',
    'Sixty',
    'Seventy',
    'Eighty',
    'Ninety'];

transform(value: any): any {
    if (value) {
        let number = parseFloat(value).toFixed(2).split(".")
        let num = parseInt(number[0]);
        let digit = parseInt(number[1]);
        if (num) {
            if ((num.toString()).length > 9)  { return ''; }
            const n = ('000000000' + num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
            const d = ('00' + digit).substr(-2).match(/^(\d{2})$/);
            if (!n) {return ''; }
            let str = '';
            str += (Number(n[1]) !== 0) ? (this.a[Number(n[1])] || this.b[n[1][0]] + ' ' + this.a[n[1][1]]) + 'Crore ' : '';
            str += (Number(n[2]) !== 0) ? (this.a[Number(n[2])] || this.b[n[2][0]] + ' ' + this.a[n[2][1]]) + 'Lakh ' : '';
            str += (Number(n[3]) !== 0) ? (this.a[Number(n[3])] || this.b[n[3][0]] + ' ' + this.a[n[3][1]]) + 'Thousand ' : '';
            str += (Number(n[4]) !== 0) ? (this.a[Number(n[4])] || this.b[n[4][0]] + ' ' + this.a[n[4][1]]) + 'Hundred ' : '';
            str += (Number(n[5]) !== 0) ? (this.a[Number(n[5])] || this.b[n[5][0]] + ' ' + this.a[n[5][1]]) + 'Rupee ' : '';        
            str += (Number(d[1]) !== 0) ? ((str !== '' ) ? "and " : '') + (this.a[Number(d[1])] || this.b[d[1][0]] + ' ' + this.a[d[1][1]]) + 'Paise Only' : 'Only';
            return str;
        } else {
            return '';
        }
    } else {
        return '';
    }
}