当数字为一位数时,保留前导0
Preserve leading 0 when number is one digit
我在JavaScript中使用parseInt()函数,需要应用逻辑,就好像给定的数字小于10一样,然后在数字之前加0。
所以,如果给定的数字是9,那么将其打印为09。我申请的是:
if (no < 10) {
no = "0" + no;
}
以及对其应用parseInt()方法,但每次前导零都会闪烁。
在javascript中,整数(Number)不能有前导零。如果你想要一个前导零,你应该把它表示为一个字符串。
parseInt('01', 10); // 1
parseFloat('01'); // 1
parseInt(01, 10); // 1
一个有用的函数,用于为转换为字符串的数字添加填充。请随意将其放在您自己的utils或其他辅助工具带中。填充快乐!
/**
* Add padding (leading zero's) to integer, based on minimum length
* @param {Number} integer
* @param {Number} minimal length of returned string
* @return {String} padded string
*/
function addPadding(integer, length){
var integerString = integer + '';
while (integerString.length < length) {
integerString = '0' + integerString;
}
return integerString;
}
// Output examples
addPadding(15, 3); // 015
addPadding(4, 2); // 04
addPadding(123, 2); // 123
addPadding(123, 5); // 00123
您必须将其转换为字符串,因为数字用前导零没有意义。
因此,您必须将数字打印为:
if (no < 10) {
console.log("0" + no);
}
若为no = 8
,则结果为"08"
首先,始终将10
的基与parseInt()
一起使用。
其次,使用console.log()
查看您得到的内容:
no = parseInt(user_input, 10); // base 10
console.log(typeof no);
if (no < 10) {
no = "0" + no;
}
console.log(typeof no);
这应该会在控制台中为您提供输出:
number
string
输入中的前导
0
可能会挡住去路,因为它是八进制表示,并且8
或9
不是有效数字。输出不能将前导0
作为number
,因此必须保留为string
。
最后一点不是问题,如果你正确地将实际数字与代码中的数字分开:
no_to_compute = 8; // is a number type
no_to_display = "0" + no; // ia a string type:
// representation of the number (numeral)
相关文章:
- 键入最后一位数字后自动提交
- 如何使用 num.toString 和 str.split 查找整数的最后一位数字
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 当用户在选择框中选择选项时,使用window.location.href重定向用户只会更改导航器中URL的最后一位
- 我怎么知道是整数一位或两位数
- .to固定为3位,但最后一位应为零
- 从整数中删除最后一位数字
- 将字符串拆分为具有交替一位和两位数字的数组
- 我如何只得到数字的最后一位数字
- Javascript - 如何获取十进制数后的最后一位数字
- 我是否需要在lib或vendor文件夹中保留一份js库的副本,尽管已经使用npm安装了
- 替换方括号中出现的最后一位数字
- 如何删除字符串中间数字的最后一位数字
- 如何获取数字的最后一位
- 表拖放(只保留一列)
- 获取JavaScript中十进制值的最后一位
- Inputmask最后一位数字的动态掩码变化
- 在javascript中,将值四舍五入到小数点后一位
- 在转换期间将数字格式化为小数点后一位?(d3.js)
- Javascript代码检查URL内容,只保留一件事