【问题标题】:Input type currency format with comma and decimal place 2输入类型货币格式,带逗号和小数位 2
【发布时间】:2014-07-24 17:05:54
【问题描述】:

我只是想问一下如何制作输入类型文本的货币格式的JavaScript。输入数字时数字是否有逗号?另外,如何使数字固定为 2 个十进制数字。如果我输入 3 个小数位的数字,最后一个数字将四舍五入,因此它可以是 2 个小数。

我有一个只接受数字的文本框,我希望它自动将数字转换为货币格式。 1234.556 将是 Php 1,234.56。 (php指菲律宾比索)

这是我的输入类型文本:

 <input type="text" name='Etxt11' placeholder="Proposed price"  onblur="this.value = 'Php ' + formatNumber(this.value)" />

【问题讨论】:

    标签: javascript format currency


    【解决方案1】:

    可能是这样的?

    var formatNumber = function (val){
        return val.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
    }
    

    【讨论】:

    • 我很惊讶这没有得到更多的选票。简洁且运行良好。
    【解决方案2】:
    function formatPera(num) {
        var p = num.toFixed(2).split(".");
        return "Php " + p[0].split("").reverse().reduce(function(acc, num, i, orig) {
            return  num + (i && !(i % 3) ? "," : "") + acc;
        }, "") + "." + p[1];
    }
    
    var money = 1234.556;
    money = formatPera(money);
    
    console.log(money); // Php 1,234.56
    

    另外,感谢:https://stackoverflow.com/a/5342097/1978142

    【讨论】:

    • naks pinoy nag 评论... formatPera() 方法呵呵.. 谢谢:D
    猜你喜欢
    • 2015-10-08
    • 2013-11-09
    • 2012-03-07
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 2022-01-07
    相关资源
    最近更新 更多