Home  |  Delphi .net Home  |  System.Int16  |  Parse Method
Parse  
Method  
Converts a string representation of a Int16 into a Int16 value
Int16 Class
System NameSpace
CF1.  Function Parse ( Value : String; ) : Int16;
CF2.  Function Parse ( Value:StringValue : String; Style : NumberStyles; ) : Int16;
CF3.  Function Parse ( Value:StringValue : String; FormatProvider : IFormatProvider; ) : Int16;
CF4.  Function Parse ( Value:StringValue : String; Style : NumberStyles; FormatProvider : IFormatProvider; ) : Int16; Static;
CF : Methods with this mark are Compact Framework Compatible
Description
Attempts to parse the Value string into a value between -32768 and 32767, returning a Int16 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.Int16
 
 
A simple example
program Project1;
{$APPTYPE CONSOLE}

uses
  System.Globalization;

var
  intStr : String;
  result : Integer;

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

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

uses
  System.Globalization;

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

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

  intStr := ' 12AB ';   // Hex 12AB = 4779
  result  := System.Int16.Parse(intStr, style);
  Console.WriteLine('''' + intStr + ''' parses to {0}', result.ToString);

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

  intStr := ' FF00 ';   // Hex FF00 = -256
  result  := System.Int16.Parse(intStr, style);
  Console.WriteLine('''' + intStr + ''' parses to {0}', result.ToString);

  Console.ReadLine;
end.
Show full unit code
  ' 12AB ' parses to 4779
  ' FF00 ' parses to -256
 
 
Delphi Programming © Neil Moffatt All rights reserved.  |  Contact the author