无法在 javascript 中保留前导零

use*_*079 5 javascript

我有

var x = "0100";

parseInt(x); // returns 100;
Run Code Online (Sandbox Code Playgroud)

有没有办法可以保留前导 0 并在 Javascript 中转换为数字

Rob*_*vey 5

不。

数字没有前导零;这是显示问题,而不是数字的内部表示问题。

显示带有前导零的数字,请参阅此处


Kha*_*lid 5

不幸的是,这是不可能的,但我有一个可以帮助您的解决方案,是定义一个类,您可以从中获取整数值,并且当您调用该toString方法时,它返回带有前导零的值

function Num ()
{
    this.value = arguments[0];
    this.val = this.valueOf = function () 
    {
       return parseInt(this.value);
    }
    this.toString = function()
    {
       return this.value;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在您可以做的是定义一个新数字,如下所示:

var x = new Num("00011");
x.val() // returns 11
x.toString() // returns "00011"
Run Code Online (Sandbox Code Playgroud)