Decimal Explicit Conversion (Decimal to SByte)
Defines an explicit conversion of a Decimal to an 8-bit signed integer.
This API is not CLS-compliant.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
-
Type:
System::Decimal
The value to convert.
| Exception | Condition |
|---|---|
| OverflowException | value is less than SByte::MinValue or greater than SByte::MaxValue. |
This operator supports the explicit conversion of a Decimal to a SByte. The syntax for such explicit conversions is language-dependent, and individual language compilers can provide different implementations and return different results. The example illustrates the different return values when you explicitly convert a Decimal value to a Byte and an SByte value by using C# and Visual Basic. To perform a conversion that is independent of language, you can call the ToSByte method or the Convert::ToSByte(Decimal) method.
The following example converts Decimal numbers to SByte values by using the explicit Decimal to SByte conversion.
using namespace System; void main() { // Define an array of decimal values. array<Decimal>^ values = { Decimal::Parse("78"), Decimal(78000,0,0,false,3), Decimal::Parse("78.999"), Decimal::Parse("255.999"), Decimal::Parse("256"), Decimal::Parse("127.999"), Decimal::Parse("128"), Decimal::Parse("-0.999"), Decimal::Parse("-1"), Decimal::Parse("-128.999"), Decimal::Parse("-129") }; for each (Decimal value in values) { try { SByte byteValue = (SByte) value; Console::WriteLine("{0} ({1}) --> {2} ({3})", value, value.GetType()->Name, byteValue, byteValue.GetType()->Name); } catch (OverflowException^ e) { Console::WriteLine("OverflowException: Cannot convert {0}", value); } } } // The example displays the following output: // 78 (Decimal) --> 78 (SByte) // 78.000 (Decimal) --> 78 (SByte) // 78.999 (Decimal) --> 78 (SByte) // OverflowException: Cannot convert 255.999 // OverflowException: Cannot convert 256 // 127.999 (Decimal) --> 127 (SByte) // OverflowException: Cannot convert 128 // -0.999 (Decimal) --> 0 (SByte) // -1 (Decimal) --> -1 (SByte) // -128.999 (Decimal) --> -128 (SByte) // OverflowException: Cannot convert -129
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