Decimal.ToSByte Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Converts the value of the specified Decimal to the equivalent 8-bit signed integer.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: System.Decimal
A Decimal value.
| Exception | Condition |
|---|---|
| OverflowException | value is less than SByte.MinValue or greater than SByte.MaxValue. |
The following code example converts Decimal numbers to SByte values using the ToSByte method.
// Example of the decimal.ToSByte and decimal.ToByte methods. using System; class Example { const string formatter = "{0,16}{1,19}{2,19}"; // Get the exception type name; remove the namespace prefix. public static string GetExceptionType(Exception ex) { string exceptionType = ex.GetType().ToString(); return exceptionType.Substring( exceptionType.LastIndexOf('.') + 1); } // Convert the decimal argument; catch exceptions that are thrown. public static void DecimalToS_Byte(System.Windows.Controls.TextBlock outputBlock, decimal argument) { object SByteValue; object ByteValue; // Convert the argument to an sbyte value. try { SByteValue = decimal.ToSByte(argument); } catch (Exception ex) { SByteValue = GetExceptionType(ex); } // Convert the argument to a byte value. try { ByteValue = decimal.ToByte(argument); } catch (Exception ex) { ByteValue = GetExceptionType(ex); } outputBlock.Text += String.Format(formatter, argument, SByteValue, ByteValue) + "\n"; } public static void Demo(System.Windows.Controls.TextBlock outputBlock) { outputBlock.Text += String.Format("This example of the \n" + " decimal.ToSByte( decimal ) and \n" + " decimal.ToByte( decimal ) \nmethods " + "generates the following output. It \ndisplays " + "several converted decimal values.\n") + "\n"; outputBlock.Text += String.Format(formatter, "decimal argument", "sbyte/exception", "byte/exception") + "\n"; outputBlock.Text += String.Format(formatter, "----------------", "---------------", "--------------") + "\n"; // Convert decimal values and display the results. DecimalToS_Byte(outputBlock, 78M); DecimalToS_Byte(outputBlock, new decimal(78000, 0, 0, false, 3)); DecimalToS_Byte(outputBlock, 78.999M); DecimalToS_Byte(outputBlock, 255.999M); DecimalToS_Byte(outputBlock, 256M); DecimalToS_Byte(outputBlock, 127.999M); DecimalToS_Byte(outputBlock, 128M); DecimalToS_Byte(outputBlock, -0.999M); DecimalToS_Byte(outputBlock, -1M); DecimalToS_Byte(outputBlock, -128.999M); DecimalToS_Byte(outputBlock, -129M); } } /* This example of the decimal.ToSByte( decimal ) and decimal.ToByte( decimal ) methods generates the following output. It displays several converted decimal values. decimal argument sbyte/exception byte/exception ---------------- --------------- -------------- 78 78 78 78.000 78 78 78.999 78 78 255.999 OverflowException 255 256 OverflowException OverflowException 127.999 127 127 128 OverflowException 128 -0.999 0 0 -1 -1 OverflowException -128.999 -128 OverflowException -129 OverflowException OverflowException */
Show: