JavaScript 数字前补“0”的五种方法
JavaScript方法 数字 五种
2023-09-11 14:22:55 时间
众所周知JavaScript中的数字是没有前置0的,因此需要我们自己进行操作来添加前置0,而且还得转换成字符串。
<html>
<body>
<script>
//迭代方式实现
function padding1(num, length) {
for(var len = (num + "").length; len < length; len = num.length) {
num = "0" + num;
}
return num;
}
//递归方式实现
function padding2(num, length) {
if((num + "").length >= length) {
return num;
}
return padding2("0" + num, length)
}
//转为小数
function padding3(num, length) {
var decimal = num / Math.pow(10, length);
//toFixed指定保留几位小数
decimal = decimal.toFixed(length) + "";
return decimal.substr(decimal.indexOf(".")+1);
}
//填充截取法
function padding4(num, length) {
//这里用slice和substr均可
return (Array(length).join("0") + num).slice(-length);
}
//填充截取法
function padding5(num, length) {
var len = (num + "").length;
var diff = length - len;
if(diff > 0) {
return Array(diff).join("0") + num;
}
return num;
}
function test(num, length) {
document.write(padding1(num, length));
document.write("<br>");
document.write(padding2(num, length));
document.write("<br>");
document.write(padding3(num, length));
document.write("<br>");
document.write(padding4(num, length));
document.write("<br>");
document.write(padding5(num, length));
document.write("<br>");
}
test(123, 10);
test(1234567890123, 10);
</script>
</body>
</html>
输出
0000000123
0000000123
0000000123
0000000123
000000123
1234567890123
1234567890123
4567890123
4567890123
1234567890123
相关文章
- Chrome Development Tool: [VM] file from javascript
- javascript模拟类的最佳实践
- ExtJS学习------Ext.define的继承extend,用javascript实现相似Ext的继承
- 浅理解JavaScript数组去重的方法(划重点),当面试官问如何实现数组去重时,你可以这样做...
- javascript 设计模式
- JavaScript 20. 错误
- JavaScript探秘:强大的原型和原型链
- 【JavaScript】重温Javascript继承机制
- JavaScript 中 new Date(time).getTime() 获取时间戳方法在 iOS 中的兼容性问题
- JavaScript 评测代码运行速度的几种方法
- 长篇总结之JavaScript,巩固前端基础
- 一篇JavaScript技术栈带你了解继承和原型链
- 《深入理解JavaScript》——1.10 函数
- 《JavaScript设计模式》——1.8 方法还可以这样用
- 《JavaScript框架设计》——2.3 require方法
- 《HTML5+JavaScript动画基础》——2.5 用户交互
- iOS与JavaScript交互三: MessageHandler--window.webkit.messageHandlers.<name>.postMessage(<messageBody>)
- JavaScript 数组遍历方法的对比
- JavaScript 字面值对象的一些基本方法
- JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法
- JavaScript 新语法详解:Class 的私有属性与私有方法
- Javascript Date原型方法
- JavaScript Array数组slice方法的使用
- javascript的密封对象之seal(),isSealed()方法