在Javascript中格式化为货币

Lia*_*iam 3 javascript

我有一个变量,它由另外两个变量的乘法组成

 var EstimatedTotal =  GetNumeric(ServiceLevel) * GetNumeric(EstimatedCoreHours);
Run Code Online (Sandbox Code Playgroud)

是否有可能,如果是这样,或者被调用的函数是什么,将其格式化为货币?我一直在谷歌上搜索我只能找到一个功能,我见过的唯一方法真的,真的很长

Jam*_*ill 9

取自这里:http://javascript.internet.com/forms/currency-format.html.我用过它并且效果很好.

function formatCurrency(num)
{
    num = num.toString().replace(/\$|\,/g, '');
    if (isNaN(num))
    {
        num = "0";
    }

    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();

    if (cents < 10)
    {
        cents = "0" + cents;
    }
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
    {
        num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
    }

    return (((sign) ? '' : '-') + '$' + num + '.' + cents);
}
Run Code Online (Sandbox Code Playgroud)


dmi*_*ry7 7

如果您正在寻找一个快速功能,可以将您的号码(例如:1234.5678)格式化为:$ 1234.57,您可以使用.toFixed(..)方法:

EstimatedTotal = "$" + EstimatedTotal.toFixed(2);
Run Code Online (Sandbox Code Playgroud)

toFixed函数采用整数值作为参数,这意味着尾随小数的数量.有关此方法的更多信息,请访问http://www.w3schools.com/jsref/jsref_tofixed.asp.

否则,如果您希望输出格式为:$ 1,234.57,则需要为此实现自己的功能.以下是两个实现链接: