1

当涉及到逗号货币位值时,我有这个代码可以正常工作。用户输入,它会自动添加一个逗号 (12,345)。这是代码:

<script type="text/javascript" language="javascript">

    function Comma(Num) {
        Num += '';
        Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
        Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
        x = Num.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');
        return x1 + x2;
    }

</script>

但我想要发生的是在货币价值的末尾添加一个 .00。(12,345.00) 您可能想分享任何技巧或参考吗?

UPDATE 键入 1,两个零变得可见。然后我输入了另一个 1,它在零之后

4

2 回答 2

0

您可以使用 jQuery FormatCurrency 插件: http ://code.google.com/p/jquery-formatcurrency/

于 2016-06-15T10:29:31.450 回答
0

x2 = x.length > 1 ? '。' + x[1] : ''; --> x2 = x.length > 1 ?'。' + x[1] : ' .00 ';

function Comma(Num) {
    while (Num.indexOf(',')>=0)
        Num = Num.replace(',', ''); 
    x = Num.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + (x[1]+'00').substring(0, 2) : '.00';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1))
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    return x1 + x2;
}
于 2016-06-15T10:21:44.450 回答