用零填充带小数的整数的文件名

Padding filename with Zeros for Integers with decimals

有人可以帮我解决我在使用 Photoshop 文件命名脚本时遇到的这个问题吗?

我想做的是将填充零添加到包含整数和小数的文件名中。这是我目前所拥有的:

//Add leading zeros
function zeroPad(num) {
    var tmp = num.toString();
    while (tmp.length < 3) {tmp = '0' + tmp;}
    return tmp;
}

问题是这只适用于只有整数的文件。如果我的文件名有小数点,它会完全忽略它。

EX:使用此脚本:doc36.jpg > doc036.jpg,但 doc40.560.jpg > doc40.560.jpg

非常感谢!

您只需填充数字的整数部分即可获得预期结果。所以,检查它是否有一个点,如果有,将它拆分并只填充第一部分。如果不是,请填充整数:

function zeroPad(num) {
    var stringRep = num.toString();
    if (stringRep.indexOf(".") !== -1) {
        var tmp = stringRep.split(".");
        while (tmp[0].length < 3) {tmp[0] = '0' + tmp[0];}
        return tmp[0]+"."+tmp[1];
    }
    else {
        while (stringRep.length < 3) {stringRep = '0' + stringRep;}
        return stringRep;
    }
}
console.log(zeroPad(10));
console.log(zeroPad(1.3));
console.log(zeroPad(110));
console.log(zeroPad(10.4));
console.log(zeroPad(11234.4));