PRB: Parseint Returns 0 for Some Strings with Leading Zeros

Article translations Article translations
Article ID: 191434 - View products that this article applies to.
This article was previously published under Q191434
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all

On This Page

Symptoms

When a string value that contains leading zeros is passed to the parseInt() JScript function, parseInt will return 0 for "08" and "09".

Cause

In JavaScript placing a leading 0 in front of a number designates that number as octal. In octal, there is no 08 or 09. Therefore, these numbers are interpreted as 0.

Resolution

You must remove the leading zeros before calling parseInt. Here is the code for the workaround:
function parseVal(val)
{
   while (val.charAt(0) == '0')
      val = val.substring(1, val.length);

   return val;
}
				

Status

This behavior is by design.

More information

Steps to Reproduce Behavior

The following Web page demonstrates this problem. This Web page contains a text box. When focus is shifted away from the edit box by pressing the TAB key, the parseInt() function is called with the value that was entered into the text box. The value returned from parseInt() is then displayed in an alert box. If you enter "08" or "09" into the text box, parseInt() returns a value of 0.
<HTML>
<HEAD>
   <TITLE>Problem with parseInt</TITLE>
</HEAD>
<BODY>
   <INPUT TYPE=TEXT name="TXT1">
   <SCRIPT FOR="TXT1" EVENT=onchange>
      var val = parseInt(TXT1.value);
      alert(val);
   </SCRIPT>
</BODY>
</HTML>
				
The following JScript code demonstrates the workaround for this problem.
<HTML>
<HEAD>
   <TITLE>THEAD</TITLE>

   <SCRIPT LANGUAGE="JScript">
      function parseVal(val)
      {
         while (val.charAt(0) == '0')
            val = val.substring(1, val.length);

         return val;
      }
   </SCRIPT>
</HEAD>
<BODY>
   <INPUT TYPE=TEXT name="TXT1">
   <SCRIPT FOR="TXT1" EVENT=onchange>
      var val = parseVal(TXT1.value);
      alert(val);
   </SCRIPT>
</BODY>
</HTML>
				

Properties

Article ID: 191434 - Last Review: October 26, 2013 - Revision: 3.0
Applies to
  • Microsoft Internet Explorer 4.01 Service Pack 1
Keywords: 
kbnosurvey kbarchive kbpending kbprb kbscript KB191434

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com