我有上传的文件格式如此
MR 1
MR 2
MR 100
MR 200
MR 300
等等.
我需要做的是在MR 10之前添加额外的两个00s,并在MR10-99之前添加一个额外的0
所以文件格式化了
MR 001
MR 010
MR 076
等等.
任何帮助都会很棒!
Tod*_*ell 200
假设您将这些值存储在某些字符串中,请尝试以下操作:
function pad (str, max) {
str = str.toString();
return str.length < max ? pad("0" + str, max) : str;
}
pad("3", 3); // => "003"
pad("123", 3); // => "123"
pad("1234", 3); // => "1234"
var test = "MR 2";
var parts = test.split(" ");
parts[1] = pad(parts[1], 3);
parts.join(" "); // => "MR 002"
Run Code Online (Sandbox Code Playgroud)
Chr*_*mas 34
我有一个潜在的解决方案,我想这是相关的,我在这里发布了它:
https://www.facebook.com/antimatterstudios/posts/10150752380719364
基本上,你想要一个最小长度为2或3,你可以调整你在这段代码中放置的0
var d = new Date();
var h = ("0"+d.getHours()).slice(-2);
var m = ("0"+d.getMinutes()).slice(-2);
var s = ("0"+d.getSeconds()).slice(-2);
Run Code Online (Sandbox Code Playgroud)
我知道我总是会得到一个整数作为最小值(因为小时1,小时2)等等,但是如果你不能确定得到除空字符串之外的任何东西,你可以只做"000"+ d.getHours( )以确保你得到最低限度.
那么你想要3个数字?在我的代码中只使用-3而不是-2,我只是写这个,因为我想以超级简单的方式构建一个24小时制的时钟.
Wil*_*ilt 17
这是一个我喜欢的解决方案,因为它的简单性来自对类似问题的回答:
var n = 123
String('00000' + n).slice(-5); // returns 00123
('00000' + n).slice(-5); // returns 00123
Run Code Online (Sandbox Code Playgroud)
function addLeadingZeros (n, length)
{
var str = (n > 0 ? n : -n) + "";
var zeros = "";
for (var i = length - str.length; i > 0; i--)
zeros += "0";
zeros += str;
return n >= 0 ? zeros : "-" + zeros;
}
//addLeadingZeros (1, 3) = "001"
//addLeadingZeros (12, 3) = "012"
//addLeadingZeros (123, 3) = "123"
Run Code Online (Sandbox Code Playgroud)