我尝试转换前导零的数字。 JavaScript将前导零解释为八进制数。但我想将数字转换为字符串作为十进制数并保留前导零。有什么想法吗?
<!DOCTYPE html>
<html>
<body>
<p>Click the button to display the formatted number.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var num = 015;
var n = Number(num).toString();
document.getElementById("demo").innerHTML = n;
}
</script>
</body>
</html>
答案 0 :(得分:1)
尝试以下代码
function pad(num, size) {
var s = num + "";
while (s.length < size) s = "0" + s;
return s;
}
document.getElementById("demo").innerHTML = pad(15, 4);
输出: 0015
答案 1 :(得分:0)
parseInt()和parseFloat()函数解析字符串,直到它们到达对指定数字格式无效的字符,然后返回解析到该点的数字。但是&#34; +&#34;如果字符串中包含无效字符,则运算符只需将字符串转换为NaN。试试解析字符串&#34; 10.2abc&#34;在控制台中自己使用每种方法,您将更好地理解差异。
+&#34; 42&#34 ;; // 42
+&#34; 010&#34 ;; // 10
+&#34;为0x10&#34 ;; // 16
a =&#34; 0042&#34;;
警报(typeof + a); //号码
警报(+α); // 42