用javascript格式化数字

用javascript格式化数字,javascript,Javascript,可能重复: 有人能帮我编写java脚本吗? 我的java脚本一直在计算,问题是字符长度太长(最多需要2个字符)。另一个问题是,我不知道我还需要什么代码将逗号放在正确的位置以确定正确的数量。示例:12345.67对12345.67。如果有人可以看看代码,修改它,重新发布完整的代码,因为我不知道该怎么做,我会非常感激 这是javascript代码: 节省的钱:$ var开始日期=新日期(“2012年1月1日12:00:00”);//在这里输入开始日期 var间隔=1000;//每秒节省 var增

可能重复:

有人能帮我编写java脚本吗?
我的java脚本一直在计算,问题是字符长度太长(最多需要2个字符)。另一个问题是,我不知道我还需要什么代码将逗号放在正确的位置以确定正确的数量。示例:12345.67对12345.67。如果有人可以看看代码,修改它,重新发布完整的代码,因为我不知道该怎么做,我会非常感激

这是javascript代码:


节省的钱:

$

var开始日期=新日期(“2012年1月1日12:00:00”);//在这里输入开始日期 var间隔=1000;//每秒节省 var增量=0.005;//每秒节省的钱 var起始值=-50000;//配置适当的节省计算 var计数=0; window.onload=函数() { var msInterval=间隔*1; var now=新日期(); count=parseInt((现在-开始日期)/msInterval)*增量+开始值; document.getElementById('counter').innerHTML=count; setInterval(“count+=INCREMENT;document.getElementById('counter')。innerHTML=count;”,msInterval); } ​
这看起来像是一种使用Javascript用逗号格式化输出的方法:

只需将数字作为参数传递给函数,它将返回一个逗号分隔的数字

下面是另一个函数,可用于四舍五入到小数点后两位:

function formatCurrency(num) {
    num = isNaN(num) || num === '' || num === null ? 0.00 : num;
    return parseFloat(num).toFixed(2);
}
然后像这样使用函数

var roundedCurrencyAmt = numberWithCommas(formatCurrency(amtOfMoney));
这里有一个正在运行的JSFIDLE:

只是一个注释:

> var START_DATE = new Date("january 1, 2012 12:00:00");
依赖于正确解析字符串的内置日期函数,但ECMA-262只指定(ISO8601的一个版本)应该解析的日期,而不是它。但并不是所有正在使用的浏览器都支持这种格式

最好使用在任何地方都能使用的东西,例如:

var START_DATE = new Date(2012,0,1,12);
这将在所有浏览器的本地时区中创建一个新日期2012-01-01 12:00:00,如果需要,则:

var START_DATE = new Date(Date.UTC(2012,0,1,12));

JavaScript数字是浮点数,因此严重不适合进行货币计算。有一个名为的JavaScript函数可以满足您的要求。您刚刚问了这个问题(然后将其删除)。答案张贴在该问题的评论中。是的,你说得对,但我对java脚本没有经验,希望有人能抽出一点时间来帮助我完成这项工作,我说我不知道它去了哪里。很抱歉,我似乎无法让它工作,我肯定我做错了=/我想这个问题不会得到解决,我不知道如何处理你发给我的代码,我只是想请你帮个小忙,重新发布完整的代码,但我想每个人都没有时间给我=/@Zach这里是固定的小提琴:OmgAlex(),非常感谢你,谢天谢地,有人花了几秒钟的时间来帮助我们。@Zach没问题。请确保您接受答案!
var START_DATE = new Date(2012,0,1,12);
var START_DATE = new Date(Date.UTC(2012,0,1,12));