let m = 5;
m = m.padStart(2, '0');
错误:
m.padStart is not a function
期望结果:05
;
我使用的是Chrome浏览器,最新版本。
需要帮助吗?
let m = 5;
m = m.padStart(2, '0');
错误:
m.padStart is not a function
期望结果:05
;
我使用的是Chrome浏览器,最新版本。
需要帮助吗?
padStart()方法可以将当前字符串使用另一个字符串进行填充(如果需要,可以多次填充),直到生成的字符串达到指定的长度。填充是从当前字符串的开头(左侧)开始应用的。
它是一个字符串函数,不是一个数字函数。 参考链接
解决方案-
let m = '5';
m = m.padStart(2, '0');
alert(m)
m
是一个数字的原因,因此我会将其保留为数字,并在调用.padStart()
之前调用.toString()
:m.toString().padStart(2,'0')
。 - Andreas将你的值从 int
转换为 String
,只需像这样使用 int.toString().padStart(n, '0');
由于padStart()
不兼容Internet Explorer (IE)和其他旧版本浏览器,如果您尝试在数字上使用它,则可能会出现以下情况:
let m = 5;
m = m.padStart(2, '0');
alert(m);
未捕获的类型错误:m.padStart不是一个函数 位于:2:7
在这里,我提供了一个我创建的函数,它可以很好地处理字符串和数字,以防有人需要像将数字填充到01、02等的情况:
let m = 5;
m = padValue(m);
alert(m);
// Sam pading value to start with 0. eg: 01, 02, .. 09, 10, ..
function padValue(value) {
return (value < 10) ? "0" + value : value;
}
正如我所提到的,您可以将已分配的5值替换为05:
let m = '5'; // The result will be 05
如果您将大于9的值作为字符串或数字传递,它将在不添加填充的情况下显示该值。例如:
let m = '10'; // The result will be 10
或者
let m = 10; // The result will be 10
将数字值转换为字符串,我需要这个函数将当前小时值转换为前导零数字,你的示例应该是:
let m = 5+''; // just in case you can't change the actual number variable .
m = m.padStart(2, '0');
我需要的代码
function CurrentTime( ) {
var today = new Date();
var h = today.getHours( )+'' ; var m = today.getMinutes()+'' ;
return h.padStart( 2 , '0' ) +':'+m.padStart( 2 , '0' ) ;
}
var current = CurrentTime( ) ;
var timeNow = mydiv.innerText ; console.log("current: " + current) ;
padStart
方法。 - CertainPerformance