Int32::Parse Method (String^)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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.

Exception Condition

s is null.


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", "007", "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
//       007 --> 7
//       2147483647 --> 2147483647
//       2147483648: Overflow
//       16e07: Bad Format
//       134985.0: Bad Format
//       -12034 --> -12034
//       -2147483648 --> -2147483648
//       -2147483649: Overflow      

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top