Home  |  Delphi .net Home  |  System.UInt64  |  Parse Method
Parse  
Method  
Converts a string representation of a UInt64 into a UInt64 value
UInt64 Class
System NameSpace
CF1.  Function Parse ( Value : String; ) : UInt64;
CF2.  Function Parse ( Value:StringValue : String; Style : NumberStyles; ) : UInt64;
CF3.  Function Parse ( Value:StringValue : String; FormatProvider : IFormatProvider; ) : UInt64;
CF4.  Function Parse ( Value:StringValue : String; Style : NumberStyles; FormatProvider : IFormatProvider; ) : UInt64; Static;
CF : Methods with this mark are Compact Framework Compatible
Description
Attempts to parse the Value string into a value between 0 and 18,446,744,073,709,551,615, returning a UInt64 object with this value.
 
The Style parameter determines the allowed number content. It is an enumerated type that is treated as a set of flags (it has the [Flags] attribute). This means that multiple values may be set, using logical or. The possible values are :
 
AllowCurrencySymbol Allow for ?,$ ...
AllowExponentE+000 format
AllowThousandsFor example : 1,000,000
AllowDecimalPointFor example : 123.456
AllowParenthesesFor example (1234)
AllowTrailingSignFor example : 123-
AllowLeadingSignFor example : -123
AllowTrailingWhiteAllow trailing blanks
AllowLeadingWhiteAllow leading blanks
AllowHexSpecifierFor example : 0x2bcd

 
Note that not all of these allowances are meaningful for Int16 values.
 
The FormatProvider option allows for customised formatting and is beyond the scope of Delphi Basics.
Notes
Warning : An exception is thrown if the parse encounters unexpected characters.
References
NumberStyles
Microsoft MSDN Links
System
System.UInt64
 
 
A simple example
program Project1;
{$APPTYPE CONSOLE}

uses
  System.Globalization;

var
  intStr : String;
  result : UInt64;

begin
  intStr := '12345678';
  result := System.UInt64.Parse(intStr);
  Console.WriteLine('''' + intStr + ''' parses to {0}', result.ToString);

  Console.ReadLine;
end.
Show full unit code
  '12345678' parses to 12345678
Using NumberStyles
program Project1;
{$APPTYPE CONSOLE}

uses
  System.Globalization;

var
  style  : NumberStyles;
  intStr : String;
  result : UInt64;

begin
  // Allow for hex values and leading/trailing blanks
  style := NumberStyles.AllowLeadingWhite  or
           NumberStyles.AllowTrailingWhite or
           NumberStyles.AllowHexSpecifier;

  intStr := ' 1234567890ABCDEF ';   // Hex 1234567890ABCDEF =
  result  := System.UInt64.Parse(intStr, style);
  Console.WriteLine('''' + intStr + ''' parses to {0}', result.ToString);

  // Or more simply using one combined number style value
  style := NumberStyles.HexNumber;

  intStr := ' FFFFFFFFFFFFFF00 ';   // = Dec 18446744073709551360
  result  := System.UInt64.Parse(intStr, style);
  Console.WriteLine('''' + intStr + ''' parses to {0}', result.ToString);

  Console.ReadLine;
end.
Show full unit code
  ' 1234567890ABCDEF ' parses to 1311768467294899695
  ' FFFFFFFFFFFFFF00 ' parses to 18446744073709551360
 
 
Delphi Programming © Neil Moffatt All rights reserved.  |  Contact the author