# Decimal Narrowing Conversion (Decimal to SByte)

.NET Framework (current version)

clsCompliantAlternativeM:System.Decimal.ToInt16(System.Decimal)equivalentCodeEntityM:System.Decimal.ToSByte(System.Decimal)

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

This API is not CLS-compliant.

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

## Syntax

```Public Shared Narrowing Operator CType (
value As Decimal
) As SByte
```

#### 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

Exception Condition
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.

```Option Strict On

Module Example
Public Sub Main()
' Define an array of decimal values.
Dim values() As Decimal = { 78d, New Decimal(78000, 0, 0, False, 3),
78.999d, 255.999d, 256d, 127.999d,
128d, -0.999d, -1d, -128.999d,
-129d }
For Each value In values
Try
Dim byteValue As SByte = CSByte(value)
Console.WriteLine("{0} ({1}) --> {2} ({3})", value,
value.GetType().Name, byteValue,
byteValue.GetType().Name)
Catch e As OverflowException
Console.WriteLine("OverflowException: Cannot convert {0}",
value)
End Try
Next
End Sub
End Module
' The example displays the following output:
'       78 (Decimal) --> 78 (SByte)
'       78.000 (Decimal) --> 78 (SByte)
'       78.999 (Decimal) --> 79 (SByte)
'       OverflowException: Cannot convert 255.999
'       OverflowException: Cannot convert 256
'       OverflowException: Cannot convert 127.999
'       OverflowException: Cannot convert 128
'       -0.999 (Decimal) --> -1 (SByte)
'       -1 (Decimal) --> -1 (SByte)
'       OverflowException: Cannot convert -128.999
'       OverflowException: Cannot convert -129
```

## Version Information

Universal Windows Platform
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