Convert::ToSByte Method (String^)
Converts the specified string representation of a number to an equivalent 8-bit signed integer.
This API is not CLS-compliant.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
-
Type:
System::String^
A string that contains the number to convert.
Return Value
Type: System::SByteAn 8-bit signed integer that is equivalent to the number in value, or 0 (zero) if value is null.
| Exception | Condition |
|---|---|
| FormatException | value does not consist of an optional sign followed by a sequence of digits (0 through 9). |
| OverflowException | value represents a number that is less than SByte::MinValue or greater than SByte::MaxValue. |
Using the ToSByte(String^) method is equivalent to passing value to the SByte::Parse(String^) method. value is interpreted by using the formatting conventions of the current thread culture.
If you prefer not to handle an exception if the conversion fails, you can call the SByte::TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.
The following example converts string representations of SByte values with the ToSByte method, using default formatting.
// Example of the Convert::ToSByte( String* ) and // Convert::ToSByte( String*, IFormatProvider* ) methods. using namespace System; using namespace System::Globalization; const __wchar_t * protoFmt = L"{0,-20}{1,-20}{2}"; // Get the exception type name; remove the namespace prefix. String^ GetExceptionType( Exception^ ex ) { String^ exceptionType = ex->GetType()->ToString(); return exceptionType->Substring( exceptionType->LastIndexOf( '.' ) + 1 ); } void ConvertToSByte( String^ numericStr, IFormatProvider^ provider ) { Object^ defaultValue; Object^ providerValue; // Convert numericStr to SByte without a format provider. try { defaultValue = Convert::ToSByte( numericStr ); } catch ( Exception^ ex ) { defaultValue = GetExceptionType( ex ); } // Convert numericStr to SByte with a format provider. try { providerValue = Convert::ToSByte( numericStr, provider ); } catch ( Exception^ ex ) { providerValue = GetExceptionType( ex ); } Console::WriteLine( gcnew String( protoFmt ), numericStr, defaultValue, providerValue ); } int main() { // Create a NumberFormatInfo object and set several of its // properties that apply to numbers. NumberFormatInfo^ provider = gcnew 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->NumberNegativePattern = 0; Console::WriteLine( "This example of\n" " Convert::ToSByte( String* ) and \n" " Convert::ToSByte( String*, IFormatProvider* ) " "\ngenerates the following output. It converts " "several strings to \nSByte values, using " "default formatting or a NumberFormatInfo object.\n" ); Console::WriteLine( gcnew String( protoFmt ), "String to convert", "Default/exception", "Provider/exception" ); Console::WriteLine( gcnew String( protoFmt ), "-----------------", "-----------------", "------------------" ); // Convert strings, with and without an IFormatProvider. ConvertToSByte( "123", provider ); ConvertToSByte( "+123", provider ); ConvertToSByte( "pos 123", provider ); ConvertToSByte( "-123", provider ); ConvertToSByte( "neg 123", provider ); ConvertToSByte( "123.", provider ); ConvertToSByte( "(123)", provider ); ConvertToSByte( "128", provider ); ConvertToSByte( "-129", provider ); } /* This example of Convert::ToSByte( String* ) and Convert::ToSByte( String*, IFormatProvider* ) generates the following output. It converts several strings to SByte values, using default formatting or a NumberFormatInfo object. String to convert Default/exception Provider/exception ----------------- ----------------- ------------------ 123 123 123 +123 123 FormatException pos 123 FormatException 123 -123 -123 FormatException neg 123 FormatException -123 123. FormatException FormatException (123) FormatException FormatException 128 OverflowException OverflowException -129 OverflowException FormatException */
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1