如何使用javascript在数字末尾添加货币

时间:2015-02-13 01:45:55

标签: javascript

我在这里使用下面的javascript做的是将数字实时转换为实时的货币格式。

function myFunc(){
    var numb='';
    nStr = document.getElementById('dj_car').value;
    my = nStr.split('.');
    var Len = my.length;
    for (var i=0; i<Len;i++){numb = numb+my[i];}
    x = numb.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;

    while (rgx.test(x1))
    {
       x1 = x1.replace(rgx, '$1' + '.' + '$2');
    }
    formated = x1 + x2;
    document.getElementById('dj_car').value = formated;
}

我的问题是如何在数字末尾将EUR作为文本?我需要将数字转换为“1.000欧元”,但截至目前它看起来像是“1.000”

提前致谢,

1 个答案:

答案 0 :(得分:0)

其他人获得EUR EUR EUR?一切似乎都很好。

如果您提交了replace(),则会将EUR发送到该功能,因此需要将其删除。我还建议更多验证。

  

修改:我已更新.replace()以删除0-9以外的任何内容。

&#13;
&#13;
function myFunc(){
    var numb='';
    //---- Remove EUR if submitted more than once!
    nStr = document.getElementById('dj_car').value.replace(/[^0-9]/g,'');
    my = nStr.split('.');
    var Len = my.length;
    for (var i=0; i<Len;i++){numb = numb+my[i];}
    x = numb.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;

    while (rgx.test(x1))
    {
       x1 = x1.replace(rgx, '$1' + '.' + '$2');
    }
    formated = x1 + x2;
    document.getElementById('dj_car').value = formated+'EUR';
}
&#13;
<input type="text" id="dj_car" oninput="myFunc()"/>
&#13;
&#13;
&#13;

我希望这会有所帮助。快乐的编码!