防止JavaScript将数字转换为八进制

3
我有以下代码:
var oct = 017;

alert(oct);

如果我使用parseInt(oct),那么它会打印17,但我需要017。上面的代码弹出15而不是017。请建议如何获得017而不是15。

5
把它变成字符串。数字不要以前导零的形式显示。如果你需要在八进制和十进制之间转换,请明确指定基数,例如使用 parseInt( '017', 10 );parseInt( '017', 8 ); - Shilly
3
@Shilly那个评论应该成为一个回答 :) - IMSoP
1
@Shilly的评论应该是答案 - 如果视觉表现很重要,那么它肯定应该是一个字符串--NaN ;) - Phillip
2个回答

2
使用字符串代替。 var oct = "017" 或者您可以直接删除前导零。 var oct = 17

1

您可以使用标准方法 Number.toString(radix) 将数字转换为表示该数字的非十进制数字系统中的字符串:

var oct = 017;

alert(oct.toString(8));


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接