user544079
user544079

Reputation: 16629

Unable to retain leading zeros in javascript

I have

var x = "0100";

parseInt(x); // returns 100;

Is there a way I can retain the leading 0s and yet convert to number in Javascript

Upvotes: 5

Views: 8870

Answers (2)

Khalid
Khalid

Reputation: 4808

Unfortunately it's not possible but I have a solution that can help you, is to define a class from where you can get the value as integer and when you call the toString method it returns the value with leading zeros

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

Now what you can do is to define a new number like this :

var x = new Num("00011");
x.val() // returns 11
x.toString() // returns "00011"

Upvotes: 6

Robert Harvey
Robert Harvey

Reputation: 180788

No.

Numbers don't have leading zeroes; that's a display issue, not a matter of a number's internal representation.

To display the number with leading zeroes, see here.

Upvotes: 5

Related Questions