Export (0) Print
Expand All

Convert.ToInt16 Method (String)

Converts the specified String representation of a number to an equivalent 16-bit signed integer.

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

public static short ToInt16(
	string value
)

Parameters

value
Type: System.String
A String containing a number to convert.

Return Value

Type: System.Int16
A 16-bit signed integer equivalent to the value of value.
-or-
Zero if value is null.

ExceptionCondition
FormatException

value does not consist of an optional sign followed by a sequence of digits (zero through nine).

OverflowException

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

If you prefer not to handle an exception if the conversion fails, you can call the Int16.TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.

The following code example converts String representations of 16-bit integers with the ToInt16 method, using default formatting.


// Example of the Convert.ToInt16( string ) and 
// Convert.ToInt16( string, IFormatProvider ) methods.
using System;
using System.Globalization;

class Example
{
   static string format = "{0,-20}{1,-20}{2}";

   // Get the exception type name; remove the namespace prefix.
   static string GetExceptionType(Exception ex)
   {
      string exceptionType = ex.GetType().ToString();
      return exceptionType.Substring(
          exceptionType.LastIndexOf('.') + 1);
   }

   static void ConvertToInt16(System.Windows.Controls.TextBlock outputBlock, string numericStr,
       IFormatProvider provider)
   {
      object defaultValue;
      object providerValue;

      // Convert numericStr to Int16 without a format provider.
      try
      {
         defaultValue = Convert.ToInt16(numericStr);
      }
      catch (Exception ex)
      {
         defaultValue = GetExceptionType(ex);
      }

      // Convert numericStr to Int16 with a format provider.
      try
      {
         providerValue = Convert.ToInt16(numericStr, provider);
      }
      catch (Exception ex)
      {
         providerValue = GetExceptionType(ex);
      }

      outputBlock.Text += String.Format(format, numericStr,
          defaultValue, providerValue) + "\n";
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Create a NumberFormatInfo object and set several of its
      // properties that apply to numbers.
      NumberFormatInfo provider = new NumberFormatInfo();

      // These properties affect the conversion.
      provider.NegativeSign = "neg ";
      provider.PositiveSign = "pos ";

      // These properties do not affect the conversion.
      // The input string cannot have decimal and group separators.
      provider.NumberDecimalSeparator = ".";
      provider.NumberGroupSeparator = ",";
      provider.NumberGroupSizes = new int[] { 3 };
      provider.NumberNegativePattern = 0;

      outputBlock.Text += String.Format("This example of\n" +
          "  Convert.ToInt16( string ) and \n" +
          "  Convert.ToInt16( string, IFormatProvider ) " +
          "\ngenerates the following output. It converts " +
          "several strings to \nshort values, using " +
          "default formatting or a NumberFormatInfo object.\n") + "\n";
      outputBlock.Text += String.Format(format, "String to convert",
          "Default/exception", "Provider/exception") + "\n";
      outputBlock.Text += String.Format(format, "-----------------",
          "-----------------", "------------------") + "\n";

      // Convert strings, with and without an IFormatProvider.
      ConvertToInt16(outputBlock, "12345", provider);
      ConvertToInt16(outputBlock, "+12345", provider);
      ConvertToInt16(outputBlock, "pos 12345", provider);
      ConvertToInt16(outputBlock, "-12345", provider);
      ConvertToInt16(outputBlock, "neg 12345", provider);
      ConvertToInt16(outputBlock, "12345.", provider);
      ConvertToInt16(outputBlock, "12,345", provider);
      ConvertToInt16(outputBlock, "(12345)", provider);
      ConvertToInt16(outputBlock, "32768", provider);
      ConvertToInt16(outputBlock, "-32769", provider);
   }
}

/*
This example of
  Convert.ToInt16( string ) and
  Convert.ToInt16( string, IFormatProvider )
generates the following output. It converts several strings to
short values, using default formatting or a NumberFormatInfo object.

String to convert   Default/exception   Provider/exception
-----------------   -----------------   ------------------
12345               12345               12345
+12345              12345               FormatException
pos 12345           FormatException     12345
-12345              -12345              FormatException
neg 12345           FormatException     -12345
12345.              FormatException     FormatException
12,345              FormatException     FormatException
(12345)             FormatException     FormatException
32768               OverflowException   OverflowException
-32769              OverflowException   FormatException
*/


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft