Decimal Constructor (Single)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Initializes a new instance of Decimal to the value of the specified single-precision floating-point number.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<SecuritySafeCriticalAttribute> _
Public Sub New ( _
value As Single _
)
[SecuritySafeCriticalAttribute]
public Decimal(
float value
)
Parameters
- value
Type: System.Single
The value to represent as a Decimal.
Exceptions
Exception | Condition |
---|---|
OverflowException | value is greater than MaxValue or less than MinValue. -or- value is Single.NaN, Single.PositiveInfinity, or Single.NegativeInfinity. |
Remarks
This constructor rounds value to 7 significant digits using rounding to nearest. This is done even if the number has more than 7 digits and the less significant digits are zero.
Examples
The following code example creates several Decimal numbers using the constructor overload that initializes a Decimal structure with a Single value.
' Example of the Decimal( Single ) constructor.
Module Example
' Get the exception type name; remove the namespace prefix.
Function GetExceptionType(ByVal ex As Exception) As String
Dim exceptionType As String = ex.GetType().ToString()
Return exceptionType.Substring( _
exceptionType.LastIndexOf("."c) + 1)
End Function
' Create a Decimal object and display its value.
Sub CreateDecimal(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal value As Single, ByVal valToStr As String)
' Format and display the constructor.
outputBlock.Text &= String.Format("{0,-27}", _
String.Format("Decimal( {0} )", valToStr))
' Construct the Decimal value.
Try
Dim decimalNum As New Decimal(value)
' Display the value if it was created successfully.
outputBlock.Text &= String.Format("{0,31}", decimalNum) & vbCrLf
' Display the exception type if an exception was thrown.
Catch ex As Exception
outputBlock.Text &= String.Format("{0,31}", GetExceptionType(ex)) & vbCrLf
End Try
End Sub
Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
outputBlock.Text &= String.Format( _
"This example of the Decimal( Single ) constructor " & _
vbCrLf & "generates the following output." & vbCrLf) & vbCrLf
outputBlock.Text &= String.Format("{0,-27}{1,31}", "Constructor", "Value or Exception") & vbCrLf
outputBlock.Text &= String.Format("{0,-27}{1,31}", "-----------", "------------------") & vbCrLf
' Construct Decimal objects from Single values.
CreateDecimal(outputBlock, 123450.0, "1.2345E+5")
CreateDecimal(outputBlock, 1.234567E+15, "1.234567E+15")
CreateDecimal(outputBlock, 1.23456789E+25, "1.23456789E+25")
CreateDecimal(outputBlock, 1.23456789E+35, "1.23456789E+35")
CreateDecimal(outputBlock, 0.000012345, "1.2345E-5")
CreateDecimal(outputBlock, 0.000000000000001234567, "1.234567E-15")
CreateDecimal(outputBlock, 1.23456789E-25, "1.23456789E-25")
CreateDecimal(outputBlock, 1.23456789E-35, "1.23456789E-35")
CreateDecimal(outputBlock, 1.0 / 7.0, "1.0 / 7.0")
End Sub
End Module
' This example of the Decimal( Single ) constructor
' generates the following output.
'
' Constructor Value or Exception
' ----------- ------------------
' Decimal( 1.2345E+5 ) 123450
' Decimal( 1.234567E+15 ) 1234567000000000
' Decimal( 1.23456789E+25 ) 12345680000000000000000000
' Decimal( 1.23456789E+35 ) OverflowException
' Decimal( 1.2345E-5 ) 0.000012345
' Decimal( 1.234567E-15 ) 0.000000000000001234567
' Decimal( 1.23456789E-25 ) 0.0000000000000000000000001235
' Decimal( 1.23456789E-35 ) 0
' Decimal( 1.0 / 7.0 ) 0.1428571
// Example of the decimal( float ) constructor.
using System;
class Example
{
// 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);
}
// Create a decimal object and display its value.
public static void CreateDecimal(System.Windows.Controls.TextBlock outputBlock, float value, string valToStr)
{
// Format and display the constructor.
outputBlock.Text += String.Format("{0,-27}",
String.Format("decimal( {0} )", valToStr));
try
{
// Construct the decimal value.
decimal decimalNum = new decimal(value);
// Display the value if it was created successfully.
outputBlock.Text += String.Format("{0,31}", decimalNum) + "\n";
}
catch (Exception ex)
{
// Display the exception type if an exception was thrown.
outputBlock.Text += String.Format("{0,31}", GetExceptionType(ex)) + "\n";
}
}
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
outputBlock.Text += String.Format("This example of the decimal( float ) " +
"constructor \ngenerates the following output.\n") + "\n";
outputBlock.Text += String.Format("{0,-27}{1,31}", "Constructor",
"Value or Exception") + "\n";
outputBlock.Text += String.Format("{0,-27}{1,31}", "-----------",
"------------------") + "\n";
// Construct decimal objects from float values.
CreateDecimal(outputBlock, 1.2345E+5F, "1.2345E+5F");
CreateDecimal(outputBlock, 1.234567E+15F, "1.234567E+15F");
CreateDecimal(outputBlock, 1.23456789E+25F, "1.23456789E+25F");
CreateDecimal(outputBlock, 1.23456789E+35F, "1.23456789E+35F");
CreateDecimal(outputBlock, 1.2345E-5F, "1.2345E-5F");
CreateDecimal(outputBlock, 1.234567E-15F, "1.234567E-15F");
CreateDecimal(outputBlock, 1.23456789E-25F, "1.23456789E-25F");
CreateDecimal(outputBlock, 1.23456789E-35F, "1.23456789E-35F");
CreateDecimal(outputBlock, 1.0F / 7.0F, "1.0F / 7.0F");
}
}
/*
This example of the decimal( float ) constructor
generates the following output.
Constructor Value or Exception
----------- ------------------
decimal( 1.2345E+5F ) 123450
decimal( 1.234567E+15F ) 1234567000000000
decimal( 1.23456789E+25F ) 12345680000000000000000000
decimal( 1.23456789E+35F ) OverflowException
decimal( 1.2345E-5F ) 0.000012345
decimal( 1.234567E-15F ) 0.000000000000001234567
decimal( 1.23456789E-25F ) 0.0000000000000000000000001235
decimal( 1.23456789E-35F ) 0
decimal( 1.0F / 7.0F ) 0.1428571
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.