使用jQuery/JavaScript将货币金额格式化为0000.00

使用jQuery/JavaScript将货币金额格式化为0000.00,javascript,jquery,Javascript,Jquery,我正在尝试格式化一个变量,使其具有特定的格式0000.00当前我的变量返回为1.00,并希望得到0001.00 任何帮助都将不胜感激 我曾经讨论过这个话题,并且有这个功能。也许这对你有用。 只需使用您的号码和所需的数字调用函数 function pad(num, digits) { var padding = ''; var numdigits = num.toString(); var parts = numdigits.split("."); if

我正在尝试格式化一个变量,使其具有特定的格式0000.00当前我的变量返回为1.00,并希望得到0001.00


任何帮助都将不胜感激

我曾经讨论过这个话题,并且有这个功能。也许这对你有用。 只需使用您的号码和所需的数字调用函数

 function pad(num, digits) {
     var padding = '';
     var numdigits = num.toString();
     var parts = numdigits.split(".");

     if (parts[1].length < 2) {
         numdigits = numdigits + "0";
     }

     if (numdigits.length > digits) {
         warning("length number is longer than requested digits");
         return;
     } else {
         for (var i = 0; i < digits; i++) {
             padding += "0";
         }
         var numstr = padding + numdigits;
         numstr = numstr.substr(numdigits.length);
         return numstr;
     }

 }
结果“001.50”


fiddle:

我对整数使用类似的方法,但我假设您处理的是字符串,因为javascript将1.00返回为1

function pad(num, size) {
    var f=num.split(".");
    while (f[0].length < size) f[0] = "0" + f[0];
    return f[0]+f[1];
}
功能板(数量、大小){
var f=分割数(“.”);
而(f[0]。长度<大小)f[0]=“0”+f[0];
返回f[0]+f[1];
}

这里有一个非常简短的函数,可以实现您想要的功能:

function formatNum(num) {
    return ('0000'+num.toFixed(2)).slice(-7);
}

演示:

您有过大于9999.99的数字吗?没有,永远不会有大于9999.99的数字。谢谢您,我将尝试一下。我想这正是我想要的!这正是我想要的,唯一的问题是如果mynumber=1.50,我得到的是00001.5,而不是0001.50,但是如果我将它改为mynumber=1.55,我得到的是预期结果0001.55,只需在toString方法后测试点后面的字符。如果小于2,则通过再次添加“零”将字符串重写回原始字符串。调整代码,包括小提琴。
function formatNum(num) {
    return ('0000'+num.toFixed(2)).slice(-7);
}