我有一个变量,它由另外两个变量的乘法组成
var EstimatedTotal = GetNumeric(ServiceLevel) * GetNumeric(EstimatedCoreHours);
是否可能,如果可能,或者调用的函数是什么,将其格式化为货币?我一直在谷歌搜索我只能找不到功能,我见过的唯一方法是真的,真的很长的啰嗦
答案 0 :(得分: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);
}
答案 1 :(得分:7)
如果您正在寻找一种快速功能,可以将您的号码(例如:1234.5678)格式化为:$ 1234.57,您可以使用.toFixed(..)方法:
EstimatedTotal = "$" + EstimatedTotal.toFixed(2);
toFixed函数采用整数值作为参数,表示尾随小数的数量。有关此方法的更多信息,请访问http://www.w3schools.com/jsref/jsref_tofixed.asp。
否则,如果您希望输出格式为:$ 1,234.57,则需要为此实现自己的功能。以下是两个实施链接:
答案 2 :(得分:3)
如何使用微软的jQuery全球化插件? https://github.com/nje/jquery-glob
答案 3 :(得分:1)
可能不完美,但适合我。
if (String.prototype.ToCurrencyFormat == null)
String.prototype.ToCurrencyFormat = function()
{
if (isNaN(this * 1) == false)
return "$" + (this * 1).toFixed(2);
}
答案 4 :(得分:0)
在Javascript中没有用于格式化货币的内置函数。
您可以在线找到许多可以帮助您编写自己的脚本,但是,这里有一个:
http://javascript.internet.com/forms/currency-format.html
Google“javascript currency”。