【问题标题】:Show a leading zero if a number is less than 10 [duplicate]如果数字小于 10,则显示前导零 [重复]
【发布时间】:2025-11-21 18:05:01
【问题描述】:

可能重复:
JavaScript equivalent to printf/string.format
How can I create a Zerofilled value using JavaScript?

我在变量中有一个数字:

var number = 5;

我需要将该数字输出为 05:

alert(number); // I want the alert to display 05, rather than 5.

我该怎么做?

我可以手动检查数字并将 0 作为字符串添加到其中,但我希望有一个 JS 函数可以做到这一点?

【问题讨论】:

标签: javascript math numbers digits


【解决方案1】:

没有内置的 JavaScript 函数可以执行此操作,但您可以相当轻松地编写自己的函数:

function pad(n) {
    return (n < 10) ? ("0" + n) : n;
}

编辑:

同时有一个原生 JS 函数可以做到这一点。见String#padStart

console.log(String(5).padStart(2, '0'));

【讨论】:

  • ...n &lt; 10 &amp;&amp; n &gt;=0...,所以你不会以“0-5”结束。
  • 同时处理 10 以内的负值:function pad(n) { if (n =0) return ("0" + n); if(n -11) return ("-0" + Math.abs(n));返回 n; }
  • 关于padStart() 函数的好消息。
  • 仅供参考,根据developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… Internet Explorer 不支持padStart
【解决方案2】:

试试这个

function pad (str, max) {
  return str.length < max ? pad("0" + str, max) : str;
}

alert(pad("5", 2));

例子

http://jsfiddle.net/

或者

var number = 5;
var i;
if (number < 10) {
    alert("0"+number);
}

例子

http://jsfiddle.net/

【讨论】:

  • 阅读他的最后一句话......他已经知道如何做到这一点,他正在寻找我相信的格式函数。
最近更新 更多