Int32::Parse Method (String)

Converts the string representation of a number to its 32-bit signed integer equivalent.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

static int Parse(
	String^ s


Type: System::String

A string containing a number to convert.

Return Value

Type: System::Int32
A 32-bit signed integer equivalent to the number contained in s.


s is nullptr.


s is not in the correct format.


s represents a number less than MinValue or greater than MaxValue.

The s parameter contains a number of the form:


Items in square brackets ([ and ]) are optional. The following table describes each element.




Optional white space.


An optional sign.


A sequence of digits ranging from 0 to 9.

The s parameter is interpreted using the NumberStyles::Integer style. In addition to decimal digits, only leading and trailing spaces together with a leading sign are allowed. To explicitly define the style elements that can be present in s, use either the Int32::Parse(String, NumberStyles) or the Int32::Parse(String, NumberStyles, IFormatProvider) method.

The s parameter is parsed using the formatting information in a NumberFormatInfo object initialized for the current system culture. For more information, see CurrentInfo. To parse a string using the formatting information of some other culture, use the Int32::Parse(String, NumberStyles, IFormatProvider) method.

The following example demonstrates how to convert a string value into a 32-bit signed integer value using the Int32::Parse(String) method. The resulting integer value is then displayed to the console.

using namespace System;

void main()
   array<String^>^ values = { "+13230", "-0", "1,390,146", "$190,235,421,127",
                              "0xFA1B", "163042", "-10", "2147483647", 
                              "2147483648", "16e07", "134985.0", "-12034",
                              "-2147483648", "-2147483649" };
   for each (String^ value in values)
      try {
         Int32 number = Int32::Parse(value); 
         Console::WriteLine("{0} --> {1}", value, number);
      catch (FormatException^ e) {
         Console::WriteLine("{0}: Bad Format", value);
      catch (OverflowException^ e) {
         Console::WriteLine("{0}: Overflow", value);   
// The example displays the following output: 
//       +13230 --> 13230 
//       -0 --> 0 
//       1,390,146: Bad Format 
//       $190,235,421,127: Bad Format 
//       0xFA1B: Bad Format 
//       163042 --> 163042 
//       -10 --> -10 
//       2147483647 --> 2147483647 
//       2147483648: Overflow 
//       16e07: Bad Format 
//       134985.0: Bad Format 
//       -12034 --> -12034 
//       -2147483648 --> -2147483648 
//       -2147483649: Overflow      

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft