Int64.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 64-bit signed integer equivalent.

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

public static long Parse(
	string s


Type: System.String

A string containing a number to convert.

Return Value

Type: System.Int64

A 64-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:


Elements 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 Int64.Parse(String, NumberStyles) or the Int64.Parse(String, NumberStyles, IFormatProvider) method.

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

The following example demonstrates how to convert a string value into a 64-bit signed integer value using the Int64.Parse(String) method. It then displays the resulting long integer value.

using System;

public class ParseInt64
   public static void Main()
      Convert("  179042  ");
      Convert(" -2041326 ");
      Convert(" +8091522 ");
      Convert("   1064.0   ");
      Convert("  178.3");
      Convert(((decimal) Int64.MaxValue) + 1.ToString());

   private static void Convert(string value)
         long number = Int64.Parse(value);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      catch (FormatException)
         Console.WriteLine("Unable to convert '{0}'.", value);
      catch (OverflowException)
         Console.WriteLine("'{0}' is out of range.", value);
// This example displays the following output to the console:
//       Converted '  179042  ' to 179042.
//       Converted ' -2041326 ' to -2041326.
//       Converted ' +8091522 ' to 8091522.
//       Unable to convert '   1064.0   '.
//       Unable to convert '  178.3'.
//       Unable to convert ''.
//       '92233720368547758071' is out of range.

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