# Decimal Explicit Conversion (Decimal to SByte)

.NET Framework 4.6 and 4.5

Defines an explicit conversion of a Decimal to an 8-bit signed integer.

This API is not CLS-compliant. The CLS-compliant alternative is ToInt16.

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

## Syntax

```public static explicit operator sbyte (
decimal value
)
```

#### Parameters

value
Type: System.Decimal

The value to convert.

#### Return Value

Type: System.SByte
An 8-bit signed integer that represents the converted Decimal.

## Exceptions

ExceptionCondition
OverflowException

value is less than SByte.MinValue or greater than SByte.MaxValue.

## Remarks

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.

## Examples

The following example converts Decimal numbers to SByte values by using the explicit Decimal to SByte conversion.

```using System;

class Example
{
public static void Main()
{
// Define an array of decimal values.
decimal[] values = { 78m, new Decimal(78000, 0, 0, false, 3),
78.999m, 255.999m, 256m, 127.999m,
128m, -0.999m, -1m, -128.999m, -129m };
foreach (var value in values) {
try {
SByte byteValue = (SByte) value;
Console.WriteLine("{0} ({1}) --> {2} ({3})", value,
value.GetType().Name, byteValue,
byteValue.GetType().Name);
}
catch (OverflowException) {
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
```

## Version Information

#### .NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

#### .NET Framework Client Profile

Supported in: 4, 3.5 SP1

#### XNA Framework

Supported in: 3.0, 2.0, 1.0

#### Portable Class Library

Supported in: Portable Class Library
Supported in: Windows Phone 8.1
Supported in: Windows Phone Silverlight 8.1
Supported in: Windows Phone Silverlight 8