Convert.ToDecimal Metodo
Definizione
Converte un valore specificato in un numero decimale.Converts a specified value to a decimal number.
Overload
ToDecimal(Single) |
Converte il valore del numero a virgola mobile e con precisione singola specificato nel numero decimale equivalente.Converts the value of the specified single-precision floating-point number to the equivalent decimal number. |
ToDecimal(String) |
Converte la rappresentazione di stringa specificata di un numero in un numero decimale equivalente.Converts the specified string representation of a number to an equivalent decimal number. |
ToDecimal(UInt16) |
Converte il valore dell'intero senza segno a 16 bit specificato in un numero decimale equivalente.Converts the value of the specified 16-bit unsigned integer to an equivalent decimal number. |
ToDecimal(String, IFormatProvider) |
Converte la rappresentazione di stringa specificata di un numero in un numero decimale equivalente mediante le informazioni di formattazione specifiche delle impostazioni cultura indicate.Converts the specified string representation of a number to an equivalent decimal number, using the specified culture-specific formatting information. |
ToDecimal(UInt64) |
Converte il valore dell'intero senza segno a 64 bit specificato in un numero decimale equivalente.Converts the value of the specified 64-bit unsigned integer to an equivalent decimal number. |
ToDecimal(Object, IFormatProvider) |
Converte il valore dell'oggetto specificato in un numero decimale equivalente mediante le informazioni di formattazione specifiche delle impostazioni cultura indicate.Converts the value of the specified object to an equivalent decimal number, using the specified culture-specific formatting information. |
ToDecimal(SByte) |
Converte il valore dell'intero con segno a 8 bit specificato nel numero decimale equivalente.Converts the value of the specified 8-bit signed integer to the equivalent decimal number. |
ToDecimal(UInt32) |
Converte il valore dell'intero senza segno a 32 bit specificato in un numero decimale equivalente.Converts the value of the specified 32-bit unsigned integer to an equivalent decimal number. |
ToDecimal(Object) |
Converte il valore dell'oggetto specificato in un numero decimale equivalente.Converts the value of the specified object to an equivalent decimal number. |
ToDecimal(Int64) |
Converte il valore dell'intero con segno a 64 bit specificato in un numero decimale equivalente.Converts the value of the specified 64-bit signed integer to an equivalent decimal number. |
ToDecimal(Int32) |
Converte il valore dell'intero con segno a 32 bit specificato in un numero decimale equivalente.Converts the value of the specified 32-bit signed integer to an equivalent decimal number. |
ToDecimal(Int16) |
Converte il valore dell'intero con segno a 16 bit specificato in un numero decimale equivalente.Converts the value of the specified 16-bit signed integer to an equivalent decimal number. |
ToDecimal(Double) |
Converte il valore del numero a virgola mobile a precisione doppia specificato in un numero decimale equivalente.Converts the value of the specified double-precision floating-point number to an equivalent decimal number. |
ToDecimal(Decimal) |
Restituisce il numero decimale specificato; non viene eseguita alcuna conversione effettiva.Returns the specified decimal number; no actual conversion is performed. |
ToDecimal(DateTime) |
La chiamata di questo metodo genera sempre un'eccezione InvalidCastException.Calling this method always throws InvalidCastException. |
ToDecimal(Char) |
La chiamata di questo metodo genera sempre un'eccezione InvalidCastException.Calling this method always throws InvalidCastException. |
ToDecimal(Byte) |
Converte il valore dell'intero senza segno a 8 bit specificato nel numero decimale equivalente.Converts the value of the specified 8-bit unsigned integer to the equivalent decimal number. |
ToDecimal(Boolean) |
Converte il valore booleano specificato nel numero decimale equivalente.Converts the specified Boolean value to the equivalent decimal number. |
ToDecimal(Single)
Converte il valore del numero a virgola mobile e con precisione singola specificato nel numero decimale equivalente.Converts the value of the specified single-precision floating-point number to the equivalent decimal number.
public:
static System::Decimal ToDecimal(float value);
public static decimal ToDecimal (float value);
static member ToDecimal : single -> decimal
Public Shared Function ToDecimal (value As Single) As Decimal
Parametri
- value
- Single
Numero a virgola mobile a precisione singola da convertire.The single-precision floating-point number to convert.
Restituisce
Numero decimale equivalente a value
.A decimal number that is equivalent to value
.
Eccezioni
value
è maggiore di MaxValue o minore di MinValue.value
is greater than MaxValue or less than MinValue.
Esempio
Nell'esempio seguente si tenta di convertire ogni elemento in una matrice di Single valori in un Decimal valore.The following example tries to convert each element in an array of Single values to a Decimal value.
float[] numbers = { Single.MinValue, -3e10f, -1093.54f, 0f, 1e-03f,
1034.23f, Single.MaxValue };
decimal result;
foreach (float number in numbers)
{
try {
result = Convert.ToDecimal(number);
Console.WriteLine("Converted the Single value {0} to {1}.", number, result);
}
catch (OverflowException) {
Console.WriteLine("{0} is out of range of the Decimal type.", number);
}
}
// The example displays the following output:
// -3.402823E+38 is out of range of the Decimal type.
// Converted the Single value -3E+10 to -30000000000.
// Converted the Single value -1093.54 to -1093.54.
// Converted the Single value 0 to 0.
// Converted the Single value 0.001 to 0.001.
// Converted the Single value 1034.23 to 1034.23.
// 3.402823E+38 is out of range of the Decimal type.
Dim numbers() As Single = { Single.MinValue, -3e10, -1093.54, 0, 1e-03, _
1034.23, Single.MaxValue }
Dim result As Decimal
For Each number As Single In numbers
Try
result = Convert.ToDecimal(number)
Console.WriteLine("Converted the Single value {0} to {1}.", number, result)
Catch e As OverflowException
Console.WriteLine("{0} is out of range of the Decimal type.", number)
End Try
Next
' The example displays the following output:
' -3.402823E+38 is out of range of the Decimal type.
' Converted the Single value -3E+10 to -30000000000.
' Converted the Single value -1093.54 to -1093.54.
' Converted the Single value 0 to 0.
' Converted the Single value 0.001 to 0.001.
' Converted the Single value 1034.23 to 1034.23.
' 3.402823E+38 is out of range of the Decimal type.
Commenti
Il Decimal valore restituito da questo metodo contiene un massimo di sette cifre significative.The Decimal value returned by this method contains a maximum of seven significant digits. Se il value
parametro contiene più di sette cifre significative, viene arrotondato utilizzando l'arrotondamento al più vicino.If the value
parameter contains more than seven significant digits, it is rounded using rounding to nearest. Nell'esempio seguente viene illustrato il modo ToDecimal(Single) in cui il metodo utilizza l'arrotondamento al più vicino per restituire un Decimal valore con sette cifre significative.The following example illustrates how the ToDecimal(Single) method uses rounding to nearest to return a Decimal value with seven significant digits.
Console.WriteLine(Convert.ToDecimal(1234567500.12F)); // Displays 1234568000
Console.WriteLine(Convert.ToDecimal(1234568500.12F)); // Displays 1234568000
Console.WriteLine(Convert.ToDecimal(10.980365F)); // Displays 10.98036
Console.WriteLine(Convert.ToDecimal(10.980355F)); // Displays 10.98036
Console.WriteLine(Convert.ToDecimal(1234567500.12f)) ' Displays 1234568000
Console.WriteLine(Convert.ToDecimal(1234568500.12f)) ' Displays 1234568000
Console.WriteLine(Convert.ToDecimal(10.980365f)) ' Displays 10.98036
Console.WriteLine(Convert.ToDecimal(10.980355f)) ' Displays 10.98036
Vedi anche
Si applica a
ToDecimal(String)
Converte la rappresentazione di stringa specificata di un numero in un numero decimale equivalente.Converts the specified string representation of a number to an equivalent decimal number.
public:
static System::Decimal ToDecimal(System::String ^ value);
public static decimal ToDecimal (string value);
static member ToDecimal : string -> decimal
Public Shared Function ToDecimal (value As String) As Decimal
Parametri
- value
- String
Stringa contenente un numero da convertire.A string that contains a number to convert.
Restituisce
Numero decimale equivalente al numero in value
oppure 0 (zero) se value
è null
.A decimal number that is equivalent to the number in value
, or 0 (zero) if value
is null
.
Eccezioni
value
non è un numero in formato valido.value
is not a number in a valid format.
L'oggetto value
rappresenta un numero minore di MinValue o maggiore di MaxValue.value
represents a number that is less than MinValue or greater than MaxValue.
Esempio
Nell'esempio seguente viene illustrato l'utilizzo di ToDecimal
.The following example illustrates the use of ToDecimal
. Tenta di convertire un oggetto String in un oggetto Decimal e genera le possibili eccezioni che possono verificarsi durante la conversione.It attempts to convert a String to a Decimal, and throws the possible exceptions that may arise during the conversion.
public:
void ConvertStringDecimal( String^ stringVal )
{
Decimal decimalVal = 0;
try
{
decimalVal = System::Convert::ToDecimal( stringVal );
System::Console::WriteLine( "The String as a decimal is {0}.",
decimalVal );
}
catch ( System::OverflowException^ )
{
System::Console::WriteLine(
"The conversion from String to decimal overflowed." );
}
catch ( System::FormatException^ )
{
System::Console::WriteLine(
"The String is not formatted as a decimal." );
}
catch ( System::ArgumentNullException^ )
{
System::Console::WriteLine( "The String is 0." );
}
// Decimal to String conversion will not overflow.
stringVal = System::Convert::ToString( decimalVal );
System::Console::WriteLine(
"The decimal as a String is {0}.", stringVal );
}
public void ConvertStringDecimal(string stringVal) {
decimal decimalVal = 0;
try {
decimalVal = System.Convert.ToDecimal(stringVal);
System.Console.WriteLine(
"The string as a decimal is {0}.", decimalVal);
}
catch (System.OverflowException){
System.Console.WriteLine(
"The conversion from string to decimal overflowed.");
}
catch (System.FormatException) {
System.Console.WriteLine(
"The string is not formatted as a decimal.");
}
catch (System.ArgumentNullException) {
System.Console.WriteLine(
"The string is null.");
}
// Decimal to string conversion will not overflow.
stringVal = System.Convert.ToString(decimalVal);
System.Console.WriteLine(
"The decimal as a string is {0}.", stringVal);
}
Public Sub ConvertStringDecimal(ByVal stringVal As String)
Dim decimalVal As Decimal = 0
Try
decimalVal = System.Convert.ToDecimal(stringVal)
System.Console.WriteLine("The string as a decimal is {0}.", _
decimalVal)
Catch exception As System.OverflowException
System.Console.WriteLine( _
"Overflow in string-to-decimal conversion.")
Catch exception As System.FormatException
System.Console.WriteLine( _
"The string is not formatted as a decimal.")
Catch exception As System.ArgumentException
System.Console.WriteLine("The string is null.")
End Try
' Decimal to string conversion will not overflow.
stringVal = System.Convert.ToString(decimalVal)
System.Console.WriteLine("The decimal as a string is {0}.", _
stringVal)
End Sub
Commenti
L'utilizzo del ToDecimal(String) metodo equivale al passaggio value
al Decimal.Parse(String) metodo.Using the ToDecimal(String) method is equivalent to passing value
to the Decimal.Parse(String) method. value
viene interpretato utilizzando le convenzioni di formattazione delle impostazioni cultura del thread corrente.value
is interpreted by using the formatting conventions of the current thread culture.
Se si preferisce non gestire un'eccezione se la conversione non riesce, è invece possibile chiamare il Decimal.TryParse metodo.If you prefer not to handle an exception if the conversion fails, you can call the Decimal.TryParse method instead. Restituisce un Boolean valore che indica se la conversione ha avuto esito positivo o negativo.It returns a Boolean value that indicates whether the conversion succeeded or failed.
Si applica a
ToDecimal(UInt16)
Importante
Questa API non è conforme a CLS.
Converte il valore dell'intero senza segno a 16 bit specificato in un numero decimale equivalente.Converts the value of the specified 16-bit unsigned integer to an equivalent decimal number.
public:
static System::Decimal ToDecimal(System::UInt16 value);
public static decimal ToDecimal (ushort value);
[System.CLSCompliant(false)]
public static decimal ToDecimal (ushort value);
static member ToDecimal : uint16 -> decimal
[<System.CLSCompliant(false)>]
static member ToDecimal : uint16 -> decimal
Public Shared Function ToDecimal (value As UShort) As Decimal
Parametri
- value
- UInt16
Intero senza segno a 16 bit da convertire.The 16-bit unsigned integer to convert.
Restituisce
Numero decimale equivalente a value
.The decimal number that is equivalent to value
.
- Attributi
Esempio
Nell'esempio seguente viene convertita una matrice di interi senza segno a 16 bit in Decimal valori.The following example converts an array of 16-bit unsigned integers to Decimal values.
ushort[] numbers = { UInt16.MinValue, 121, 12345, UInt16.MaxValue };
decimal result;
foreach (ushort number in numbers)
{
result = Convert.ToDecimal(number);
Console.WriteLine("Converted the UInt16 value {0} to {1}.",
number, result);
}
// The example displays the following output:
// Converted the UInt16 value 0 to 0.
// Converted the UInt16 value 121 to 121.
// Converted the UInt16 value 12345 to 12345.
// Converted the UInt16 value 65535 to 65535.
Dim numbers() As UShort = { UInt16.MinValue, 121, 12345, UInt16.MaxValue }
Dim result As Decimal
For Each number As UShort In numbers
result = Convert.ToDecimal(number)
Console.WriteLine("Converted the UInt16 value {0} to {1}.", _
number, result)
Next
' The example displays the following output:
' Converted the UInt16 value 0 to 0.
' Converted the UInt16 value 121 to 121.
' Converted the UInt16 value 12345 to 12345.
' Converted the UInt16 value 65535 to 65535.
Vedi anche
Si applica a
ToDecimal(String, IFormatProvider)
Converte la rappresentazione di stringa specificata di un numero in un numero decimale equivalente mediante le informazioni di formattazione specifiche delle impostazioni cultura indicate.Converts the specified string representation of a number to an equivalent decimal number, using the specified culture-specific formatting information.
public:
static System::Decimal ToDecimal(System::String ^ value, IFormatProvider ^ provider);
public static decimal ToDecimal (string value, IFormatProvider provider);
static member ToDecimal : string * IFormatProvider -> decimal
Public Shared Function ToDecimal (value As String, provider As IFormatProvider) As Decimal
Parametri
- value
- String
Stringa contenente un numero da convertire.A string that contains a number to convert.
- provider
- IFormatProvider
Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.An object that supplies culture-specific formatting information.
Restituisce
Numero decimale equivalente al numero in value
oppure 0 (zero) se value
è null
.A decimal number that is equivalent to the number in value
, or 0 (zero) if value
is null
.
Eccezioni
value
non è un numero in formato valido.value
is not a number in a valid format.
L'oggetto value
rappresenta un numero minore di MinValue o maggiore di MaxValue.value
represents a number that is less than MinValue or greater than MaxValue.
Esempio
Nell'esempio seguente viene effettuato un tentativo di conversione di una matrice di stringhe in Decimal valori utilizzando NumberFormatInfo oggetti che rappresentano due impostazioni cultura diverse.The following example attempts to convert an array of strings to Decimal values by using NumberFormatInfo objects that represent two different cultures.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] values = { "123456789", "12345.6789", "12 345,6789",
"123,456.789", "123 456,789", "123,456,789.0123",
"123 456 789,0123" };
CultureInfo[] cultures = { new CultureInfo("en-US"),
new CultureInfo("fr-FR") };
foreach (CultureInfo culture in cultures)
{
Console.WriteLine("String -> Decimal Conversion Using the {0} Culture",
culture.Name);
foreach (string value in values)
{
Console.Write("{0,20} -> ", value);
try {
Console.WriteLine(Convert.ToDecimal(value, culture));
}
catch (FormatException) {
Console.WriteLine("FormatException");
}
}
Console.WriteLine();
}
}
}
// The example displays the following output:
// String -> Decimal Conversion Using the en-US Culture
// 123456789 -> 123456789
// 12345.6789 -> 12345.6789
// 12 345,6789 -> FormatException
// 123,456.789 -> 123456.789
// 123 456,789 -> FormatException
// 123,456,789.0123 -> 123456789.0123
// 123 456 789,0123 -> FormatException
//
// String -> Decimal Conversion Using the fr-FR Culture
// 123456789 -> 123456789
// 12345.6789 -> FormatException
// 12 345,6789 -> 12345.6789
// 123,456.789 -> FormatException
// 123 456,789 -> 123456.789
// 123,456,789.0123 -> FormatException
// 123 456 789,0123 -> 123456789.0123
Imports System.Globalization
Module Example
Public Sub Main()
Dim values() As String = { "123456789", "12345.6789", "12 345,6789", _
"123,456.789", "123 456,789", "123,456,789.0123", _
"123 456 789,0123" }
Dim cultures() As CultureInfo = { New CultureInfo("en-US"), _
New CultureInfo("fr-FR") }
For Each culture As CultureInfo In cultures
Console.WriteLine("String -> Decimal Conversion Using the {0} Culture", _
culture.Name)
For Each value As String In values
Console.Write("{0,20} -> ", value)
Try
Console.WriteLine(Convert.ToDecimal(value, culture))
Catch e As FormatException
Console.WriteLine("FormatException")
End Try
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' String -> Decimal Conversion Using the en-US Culture
' 123456789 -> 123456789
' 12345.6789 -> 12345.6789
' 12 345,6789 -> FormatException
' 123,456.789 -> 123456.789
' 123 456,789 -> FormatException
' 123,456,789.0123 -> 123456789.0123
' 123 456 789,0123 -> FormatException
'
' String -> Decimal Conversion Using the fr-FR Culture
' 123456789 -> 123456789
' 12345.6789 -> FormatException
' 12 345,6789 -> 12345.6789
' 123,456.789 -> FormatException
' 123 456,789 -> 123456.789
' 123,456,789.0123 -> FormatException
' 123 456 789,0123 -> 123456789.0123
Commenti
Il valore restituito è il risultato della chiamata al Decimal.Parse metodo su value
.The return value is the result of invoking the Decimal.Parse method on value
.
provider
è un' IFormatProvider istanza di che ottiene un NumberFormatInfo oggetto.provider
is an IFormatProvider instance that obtains a NumberFormatInfo object. L' NumberFormatInfo oggetto fornisce informazioni specifiche delle impostazioni cultura relative al formato di value
.The NumberFormatInfo object provides culture-specific information about the format of value
. Se provider
è null
, NumberFormatInfo viene utilizzato l'oggetto per le impostazioni cultura correnti.If provider
is null
, the NumberFormatInfo for the current culture is used.
Se si preferisce non gestire un'eccezione se la conversione non riesce, è invece possibile chiamare il Decimal.TryParse metodo.If you prefer not to handle an exception if the conversion fails, you can call the Decimal.TryParse method instead. Restituisce un Boolean valore che indica se la conversione ha avuto esito positivo o negativo.It returns a Boolean value that indicates whether the conversion succeeded or failed.
Si applica a
ToDecimal(UInt64)
Importante
Questa API non è conforme a CLS.
Converte il valore dell'intero senza segno a 64 bit specificato in un numero decimale equivalente.Converts the value of the specified 64-bit unsigned integer to an equivalent decimal number.
public:
static System::Decimal ToDecimal(System::UInt64 value);
public static decimal ToDecimal (ulong value);
[System.CLSCompliant(false)]
public static decimal ToDecimal (ulong value);
static member ToDecimal : uint64 -> decimal
[<System.CLSCompliant(false)>]
static member ToDecimal : uint64 -> decimal
Public Shared Function ToDecimal (value As ULong) As Decimal
Parametri
- value
- UInt64
Intero senza segno a 64 bit da convertire.The 64-bit unsigned integer to convert.
Restituisce
Numero decimale equivalente a value
.A decimal number that is equivalent to value
.
- Attributi
Esempio
Nell'esempio seguente viene convertita una matrice di interi senza segno a Decimal valori.The following example converts an array of unsigned long integers to Decimal values.
ulong[] numbers = { UInt64.MinValue, 121, 12345, UInt64.MaxValue };
decimal result;
foreach (ulong number in numbers)
{
result = Convert.ToDecimal(number);
Console.WriteLine("Converted the UInt64 value {0} to {1}.",
number, result);
}
// The example displays the following output:
// Converted the UInt64 value 0 to 0.
// Converted the UInt64 value 121 to 121.
// Converted the UInt64 value 12345 to 12345.
// Converted the UInt64 value 18446744073709551615 to 18446744073709551615.
Dim numbers() As ULong = { UInt64.MinValue, 121, 12345, UInt64.MaxValue }
Dim result As Decimal
For Each number As ULong In numbers
result = Convert.ToDecimal(number)
Console.WriteLine("Converted the UInt64 value {0} to {1}.", _
number, result)
Next
' The example displays the following output:
' Converted the UInt64 value 0 to 0.
' Converted the UInt64 value 121 to 121.
' Converted the UInt64 value 12345 to 12345.
' Converted the UInt64 value 18446744073709551615 to 18446744073709551615.
Vedi anche
Si applica a
ToDecimal(Object, IFormatProvider)
Converte il valore dell'oggetto specificato in un numero decimale equivalente mediante le informazioni di formattazione specifiche delle impostazioni cultura indicate.Converts the value of the specified object to an equivalent decimal number, using the specified culture-specific formatting information.
public:
static System::Decimal ToDecimal(System::Object ^ value, IFormatProvider ^ provider);
public static decimal ToDecimal (object value, IFormatProvider provider);
static member ToDecimal : obj * IFormatProvider -> decimal
Public Shared Function ToDecimal (value As Object, provider As IFormatProvider) As Decimal
Parametri
- value
- Object
Oggetto che implementa l'interfaccia IConvertible.An object that implements the IConvertible interface.
- provider
- IFormatProvider
Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.An object that supplies culture-specific formatting information.
Restituisce
Numero decimale equivalente a value
oppure 0 (zero) se value
è null
.A decimal number that is equivalent to value
, or 0 (zero) if value
is null
.
Eccezioni
Il formato di value
non è appropriato per un tipo Decimal.value
is not in an appropriate format for a Decimal type.
value
non implementa l'interfaccia IConvertible.value
does not implement the IConvertible interface.
-oppure--or-
La conversione non è supportata.The conversion is not supported.
L'oggetto value
rappresenta un numero minore di MinValue o maggiore di MaxValue.value
represents a number that is less than MinValue or greater than MaxValue.
Esempio
Nell'esempio seguente viene definita una classe Temperature
che implementa l'interfaccia IConvertible .The following example defines a Temperature
class that implements the IConvertible interface.
using System;
using System.Globalization;
public class Temperature : IConvertible
{
private decimal m_Temp;
public Temperature(decimal temperature)
{
this.m_Temp = temperature;
}
public decimal Celsius
{
get { return this.m_Temp; }
}
public decimal Kelvin
{
get { return this.m_Temp + 273.15m; }
}
public decimal Fahrenheit
{
get { return Math.Round((decimal) (this.m_Temp * 9 / 5 + 32), 2); }
}
public override string ToString()
{
return m_Temp.ToString("N2") + " °C";
}
// IConvertible implementations.
public TypeCode GetTypeCode()
{
return TypeCode.Object;
}
public bool ToBoolean(IFormatProvider provider)
{
if (m_Temp == 0)
return false;
else
return true;
}
public byte ToByte(IFormatProvider provider)
{
if (m_Temp < Byte.MinValue || m_Temp > Byte.MaxValue)
throw new OverflowException(String.Format("{0} is out of range of the Byte type.",
this.m_Temp));
else
return Decimal.ToByte(this.m_Temp);
}
public char ToChar(IFormatProvider provider)
{
throw new InvalidCastException("Temperature to Char conversion is not supported.");
}
public DateTime ToDateTime(IFormatProvider provider)
{
throw new InvalidCastException("Temperature to DateTime conversion is not supported.");
}
public decimal ToDecimal(IFormatProvider provider)
{
return this.m_Temp;
}
public double ToDouble(IFormatProvider provider)
{
return Decimal.ToDouble(this.m_Temp);
}
public short ToInt16(IFormatProvider provider)
{
if (this.m_Temp < Int16.MinValue || this.m_Temp > Int16.MaxValue)
throw new OverflowException(String.Format("{0} is out of range of the Int16 type.",
this.m_Temp));
else
return Decimal.ToInt16(this.m_Temp);
}
public int ToInt32(IFormatProvider provider)
{
if (this.m_Temp < Int32.MinValue || this.m_Temp > Int32.MaxValue)
throw new OverflowException(String.Format("{0} is out of range of the Int32 type.",
this.m_Temp));
else
return Decimal.ToInt32(this.m_Temp);
}
public long ToInt64(IFormatProvider provider)
{
if (this.m_Temp < Int64.MinValue || this.m_Temp > Int64.MaxValue)
throw new OverflowException(String.Format("{0} is out of range of the Int64 type.",
this.m_Temp));
else
return Decimal.ToInt64(this.m_Temp);
}
public sbyte ToSByte(IFormatProvider provider)
{
if (this.m_Temp < SByte.MinValue || this.m_Temp > SByte.MaxValue)
throw new OverflowException(String.Format("{0} is out of range of the SByte type.",
this.m_Temp));
else
return Decimal.ToSByte(this.m_Temp);
}
public float ToSingle(IFormatProvider provider)
{
return Decimal.ToSingle(this.m_Temp);
}
public string ToString(IFormatProvider provider)
{
return m_Temp.ToString("N2", provider) + " °C";
}
public object ToType(Type conversionType, IFormatProvider provider)
{
switch (Type.GetTypeCode(conversionType))
{
case TypeCode.Boolean:
return this.ToBoolean(null);
case TypeCode.Byte:
return this.ToByte(null);
case TypeCode.Char:
return this.ToChar(null);
case TypeCode.DateTime:
return this.ToDateTime(null);
case TypeCode.Decimal:
return this.ToDecimal(null);
case TypeCode.Double:
return this.ToDouble(null);
case TypeCode.Int16:
return this.ToInt16(null);
case TypeCode.Int32:
return this.ToInt32(null);
case TypeCode.Int64:
return this.ToInt64(null);
case TypeCode.Object:
if (typeof(Temperature).Equals(conversionType))
return this;
else
throw new InvalidCastException(String.Format("Conversion to a {0} is not supported.",
conversionType.Name));
case TypeCode.SByte:
return this.ToSByte(null);
case TypeCode.Single:
return this.ToSingle(null);
case TypeCode.String:
return this.ToString(provider);
case TypeCode.UInt16:
return this.ToUInt16(null);
case TypeCode.UInt32:
return this.ToUInt32(null);
case TypeCode.UInt64:
return this.ToUInt64(null);
default:
throw new InvalidCastException(String.Format("Conversion to {0} is not supported.", conversionType.Name));
}
}
public ushort ToUInt16(IFormatProvider provider)
{
if (this.m_Temp < UInt16.MinValue || this.m_Temp > UInt16.MaxValue)
throw new OverflowException(String.Format("{0} is out of range of the UInt16 type.",
this.m_Temp));
else
return Decimal.ToUInt16(this.m_Temp);
}
public uint ToUInt32(IFormatProvider provider)
{
if (this.m_Temp < UInt32.MinValue || this.m_Temp > UInt32.MaxValue)
throw new OverflowException(String.Format("{0} is out of range of the UInt32 type.",
this.m_Temp));
else
return Decimal.ToUInt32(this.m_Temp);
}
public ulong ToUInt64(IFormatProvider provider)
{
if (this.m_Temp < UInt64.MinValue || this.m_Temp > UInt64.MaxValue)
throw new OverflowException(String.Format("{0} is out of range of the UInt64 type.",
this.m_Temp));
else
return Decimal.ToUInt64(this.m_Temp);
}
}
Imports System.Globalization
Public Class Temperature : Implements IConvertible
Private m_Temp As Decimal
Public Sub New(temperature As Decimal)
Me.m_Temp = temperature
End Sub
Public ReadOnly Property Celsius() As Decimal
Get
Return Me.m_Temp
End Get
End Property
Public ReadOnly Property Kelvin() As Decimal
Get
Return Me.m_Temp + 273.15d
End Get
End Property
Public ReadOnly Property Fahrenheit() As Decimal
Get
Return Math.Round(CDec(Me.m_Temp * 9 / 5 + 32), 2)
End Get
End Property
Public Overrides Function ToString() As String
Return m_Temp.ToString("N2") & " °C"
End Function
' IConvertible implementations.
Public Function GetTypeCode() As TypeCode _
Implements IConvertible.GetTypeCode
Return TypeCode.Object
End Function
Public Function ToBoolean(provider As IFormatProvider) As Boolean _
Implements IConvertible.ToBoolean
If m_Temp = 0 Then
Return False
Else
Return True
End If
End Function
Public Function ToByte(provider As IFormatProvider) As Byte _
Implements IConvertible.ToByte
If m_Temp < Byte.MinValue Or m_Temp > Byte.MaxValue Then
Throw New OverflowException(String.Format("{0} is out of range of the Byte type.", _
Me.m_Temp))
Else
Return Decimal.ToByte(Me.m_Temp)
End If
End Function
Public Function ToChar(provider As IFormatProvider) As Char _
Implements IConvertible.ToChar
Throw New InvalidCastException("Temperature to Char conversion is not supported.")
End Function
Public Function ToDateTime(provider As IFormatProvider) As Date _
Implements IConvertible.ToDateTime
Throw New InvalidCastException("Temperature to DateTime conversion is not supported.")
End Function
Public Function ToDecimal(provider As IFormatProvider) As Decimal _
Implements IConvertible.ToDecimal
Return Me.m_Temp
End Function
Public Function ToDouble(provider As IFormatProvider) As Double _
Implements IConvertible.ToDouble
Return Decimal.ToDouble(Me.m_Temp)
End Function
Public Function ToInt16(provider As IFormatProvider) As Int16 _
Implements IConvertible.ToInt16
If Me.m_Temp < Int16.MinValue Or Me.m_Temp > Int16.MaxValue Then
Throw New OverflowException(String.Format("{0} is out of range of the Int16 type.", _
Me.m_Temp))
Else
Return Decimal.ToInt16(Me.m_Temp)
End If
End Function
Public Function ToInt32(provider As IFormatProvider) As Int32 _
Implements IConvertible.ToInt32
If Me.m_Temp < Int32.MinValue Or Me.m_Temp > Int32.MaxValue Then
Throw New OverflowException(String.Format("{0} is out of range of the Int32 type.", _
Me.m_Temp))
Else
Return Decimal.ToInt32(Me.m_Temp)
End If
End Function
Public Function ToInt64(provider As IFormatProvider) As Int64 _
Implements IConvertible.ToInt64
If Me.m_Temp < Int64.MinValue Or Me.m_Temp > Int64.MaxValue Then
Throw New OverflowException(String.Format("{0} is out of range of the Int64 type.", _
Me.m_Temp))
Else
Return Decimal.ToInt64(Me.m_Temp)
End If
End Function
Public Function ToSByte(provider As IFormatProvider) As SByte _
Implements IConvertible.ToSByte
If Me.m_Temp < SByte.MinValue Or Me.m_Temp > SByte.MaxValue Then
Throw New OverflowException(String.Format("{0} is out of range of the SByte type.", _
Me.m_Temp))
Else
Return Decimal.ToSByte(Me.m_Temp)
End If
End Function
Public Function ToSingle(provider As IFormatProvider) As Single _
Implements IConvertible.ToSingle
Return Decimal.ToSingle(Me.m_Temp)
End Function
Public Overloads Function ToString(provider As IFormatProvider) As String _
Implements IConvertible.ToString
Return m_Temp.ToString("N2", provider) & " °C"
End Function
Public Function ToType(conversionType As Type, provider As IFormatProvider) As Object _
Implements IConvertible.ToType
Select Case Type.GetTypeCode(conversionType)
Case TypeCode.Boolean
Return Me.ToBoolean(Nothing)
Case TypeCode.Byte
Return Me.ToByte(Nothing)
Case TypeCode.Char
Return Me.ToChar(Nothing)
Case TypeCode.DateTime
Return Me.ToDateTime(Nothing)
Case TypeCode.Decimal
Return Me.ToDecimal(Nothing)
Case TypeCode.Double
Return Me.ToDouble(Nothing)
Case TypeCode.Int16
Return Me.ToInt16(Nothing)
Case TypeCode.Int32
Return Me.ToInt32(Nothing)
Case TypeCode.Int64
Return Me.ToInt64(Nothing)
Case TypeCode.Object
If GetType(Temperature).Equals(conversionType) Then
Return Me
Else
Throw New InvalidCastException(String.Format("Conversion to a {0} is not supported.", _
conversionType.Name))
End If
Case TypeCode.SByte
Return Me.ToSByte(Nothing)
Case TypeCode.Single
Return Me.ToSingle(Nothing)
Case TypeCode.String
Return Me.ToString(provider)
Case TypeCode.UInt16
Return Me.ToUInt16(Nothing)
Case TypeCode.UInt32
Return Me.ToUInt32(Nothing)
Case TypeCode.UInt64
Return Me.ToUInt64(Nothing)
Case Else
Throw New InvalidCastException(String.Format("Conversion to {0} is not supported.", conversionType.Name))
End Select
End Function
Public Function ToUInt16(provider As IFormatProvider) As UInt16 _
Implements IConvertible.ToUInt16
If Me.m_Temp < UInt16.MinValue Or Me.m_Temp > UInt16.MaxValue Then
Throw New OverflowException(String.Format("{0} is out of range of the UInt16 type.", _
Me.m_Temp))
Else
Return Decimal.ToUInt16(Me.m_Temp)
End If
End Function
Public Function ToUInt32(provider As IFormatProvider) As UInt32 _
Implements IConvertible.ToUInt32
If Me.m_Temp < UInt32.MinValue Or Me.m_Temp > UInt32.MaxValue Then
Throw New OverflowException(String.Format("{0} is out of range of the UInt32 type.", _
Me.m_Temp))
Else
Return Decimal.ToUInt32(Me.m_Temp)
End If
End Function
Public Function ToUInt64(provider As IFormatProvider) As UInt64 _
Implements IConvertible.ToUInt64
If Me.m_Temp < UInt64.MinValue Or Me.m_Temp > UInt64.MaxValue Then
Throw New OverflowException(String.Format("{0} is out of range of the UInt64 type.", _
Me.m_Temp))
Else
Return Decimal.ToUInt64(Me.m_temp)
End If
End Function
End Class
Nell'esempio seguente viene illustrato che quando un Temperature
oggetto viene passato come parametro al ToDecimal(Object, IFormatProvider) metodo, IConvertible.ToDecimal viene chiamata l'implementazione della Temperature
classe per eseguire la conversione.The following example shows that when a Temperature
object is passed as a parameter to the ToDecimal(Object, IFormatProvider) method, the IConvertible.ToDecimal implementation of the Temperature
class is called to perform the conversion.
public class Example
{
public static void Main()
{
Temperature cold = new Temperature(-40);
Temperature freezing = new Temperature(0);
Temperature boiling = new Temperature(100);
Console.WriteLine(Convert.ToDecimal(cold, null));
Console.WriteLine(Convert.ToDecimal(freezing, null));
Console.WriteLine(Convert.ToDecimal(boiling, null));
}
}
// The example dosplays the following output:
// -40
// 0
// 100
Module Example
Public Sub Main()
Dim cold As New Temperature(-40)
Dim freezing As New Temperature(0)
Dim boiling As New Temperature(100)
Console.WriteLine(Convert.ToDecimal(cold, Nothing))
Console.WriteLine(Convert.ToDecimal(freezing, Nothing))
Console.WriteLine(Convert.ToDecimal(boiling, Nothing))
End Sub
End Module
' The example displays the following output:
' -40
' 0
' 100
Commenti
Il valore restituito è il risultato della chiamata al IConvertible.ToDecimal metodo del tipo sottostante di value
.The return value is the result of invoking the IConvertible.ToDecimal method of the underlying type of value
.
provider
consente all'utente di specificare le informazioni relative alla conversione specifiche delle impostazioni cultura relative al contenuto di value
.provider
enables the user to specify culture-specific conversion information about the contents of value
. I tipi di base ignorano provider
; tuttavia, il parametro può essere usato se value
è un tipo definito dall'utente che implementa l' IConvertible interfaccia.The base types ignore provider
; however, the parameter may be used if value
is a user-defined type that implements the IConvertible interface.
Vedi anche
Si applica a
ToDecimal(SByte)
Importante
Questa API non è conforme a CLS.
Converte il valore dell'intero con segno a 8 bit specificato nel numero decimale equivalente.Converts the value of the specified 8-bit signed integer to the equivalent decimal number.
public:
static System::Decimal ToDecimal(System::SByte value);
public static decimal ToDecimal (sbyte value);
[System.CLSCompliant(false)]
public static decimal ToDecimal (sbyte value);
static member ToDecimal : sbyte -> decimal
[<System.CLSCompliant(false)>]
static member ToDecimal : sbyte -> decimal
Public Shared Function ToDecimal (value As SByte) As Decimal
Parametri
- value
- SByte
Intero con segno a 8 bit da convertire.The 8-bit signed integer to convert.
Restituisce
Numero decimale equivalente a value
.A decimal number that is equivalent to value
.
- Attributi
Esempio
Nell'esempio seguente ogni elemento di una matrice di byte con segno viene convertito in un Decimal valore.The following example converts each element in an array of signed bytes to a Decimal value.
sbyte[] numbers = { SByte.MinValue, -23, 0, 17, SByte.MaxValue };
decimal result;
foreach (sbyte number in numbers)
{
result = Convert.ToDecimal(number);
Console.WriteLine("Converted the SByte value {0} to {1}.", number, result);
}
// Converted the SByte value -128 to -128.
// Converted the SByte value -23 to -23.
// Converted the SByte value 0 to 0.
// Converted the SByte value 17 to 17.
// Converted the SByte value 127 to 127.
Dim numbers() As SByte = { SByte.MinValue, -23, 0, 17, SByte.MaxValue }
Dim result As Decimal
For Each number As SByte In numbers
result = Convert.ToDecimal(number)
Console.WriteLine("Converted the SByte value {0} to {1}.", number, result)
Next
' Converted the SByte value -128 to -128.
' Converted the SByte value -23 to -23.
' Converted the SByte value 0 to 0.
' Converted the SByte value 17 to 17.
' Converted the SByte value 127 to 127.
Vedi anche
Si applica a
ToDecimal(UInt32)
Importante
Questa API non è conforme a CLS.
Converte il valore dell'intero senza segno a 32 bit specificato in un numero decimale equivalente.Converts the value of the specified 32-bit unsigned integer to an equivalent decimal number.
public:
static System::Decimal ToDecimal(System::UInt32 value);
public static decimal ToDecimal (uint value);
[System.CLSCompliant(false)]
public static decimal ToDecimal (uint value);
static member ToDecimal : uint32 -> decimal
[<System.CLSCompliant(false)>]
static member ToDecimal : uint32 -> decimal
Public Shared Function ToDecimal (value As UInteger) As Decimal
Parametri
- value
- UInt32
Intero senza segno a 32 bit da convertire.The 32-bit unsigned integer to convert.
Restituisce
Numero decimale equivalente a value
.A decimal number that is equivalent to value
.
- Attributi
Esempio
Nell'esempio seguente viene convertita una matrice di interi senza segno in Decimal valori.The following example converts an array of unsigned integers to Decimal values.
uint[] numbers = { UInt32.MinValue, 121, 12345, UInt32.MaxValue };
decimal result;
foreach (uint number in numbers)
{
result = Convert.ToDecimal(number);
Console.WriteLine("Converted the UInt32 value {0} to {1}.",
number, result);
}
// The example displays the following output:
// Converted the UInt32 value 0 to 0.
// Converted the UInt32 value 121 to 121.
// Converted the UInt32 value 12345 to 12345.
// Converted the UInt32 value 4294967295 to 4294967295.
Dim numbers() As UInteger = { UInt32.MinValue, 121, 12345, UInt32.MaxValue }
Dim result As Decimal
For Each number As UInteger In numbers
result = Convert.ToDecimal(number)
Console.WriteLine("Converted the UInt32 value {0} to {1}.", _
number, result)
Next
' The example displays the following output:
' Converted the UInt32 value 0 to 0.
' Converted the UInt32 value 121 to 121.
' Converted the UInt32 value 12345 to 12345.
' Converted the UInt32 value 4294967295 to 4294967295.
Vedi anche
Si applica a
ToDecimal(Object)
Converte il valore dell'oggetto specificato in un numero decimale equivalente.Converts the value of the specified object to an equivalent decimal number.
public:
static System::Decimal ToDecimal(System::Object ^ value);
public static decimal ToDecimal (object value);
static member ToDecimal : obj -> decimal
Public Shared Function ToDecimal (value As Object) As Decimal
Parametri
- value
- Object
Oggetto che implementa l'interfaccia IConvertible oppure null
.An object that implements the IConvertible interface, or null
.
Restituisce
Numero decimale equivalente a value
oppure 0 (zero) se value
è null
.A decimal number that is equivalent to value
, or 0 (zero) if value
is null
.
Eccezioni
Il formato di value
non è appropriato per un tipo Decimal.value
is not in an appropriate format for a Decimal type.
value
non implementa l'interfaccia IConvertible.value
does not implement the IConvertible interface.
-oppure--or-
La conversione non è supportata.The conversion is not supported.
L'oggetto value
rappresenta un numero minore di MinValue o maggiore di MaxValue.value
represents a number that is less than MinValue or greater than MaxValue.
Esempio
Nell'esempio seguente si tenta di convertire ogni elemento in una matrice di oggetti in un Decimal valore.The following example tries to convert each element in an object array to a Decimal value.
object[] values = { true, 'a', 123, 1.764e32, "9.78", "1e-02",
1.67e03, "A100", "1,033.67", DateTime.Now,
Double.MaxValue };
decimal result;
foreach (object value in values)
{
try {
result = Convert.ToDecimal(value);
Console.WriteLine("Converted the {0} value {1} to {2}.",
value.GetType().Name, value, result);
}
catch (OverflowException) {
Console.WriteLine("The {0} value {1} is out of range of the Decimal type.",
value.GetType().Name, value);
}
catch (FormatException) {
Console.WriteLine("The {0} value {1} is not recognized as a valid Decimal value.",
value.GetType().Name, value);
}
catch (InvalidCastException) {
Console.WriteLine("Conversion of the {0} value {1} to a Decimal is not supported.",
value.GetType().Name, value);
}
}
// The example displays the following output:
// Converted the Boolean value True to 1.
// Conversion of the Char value a to a Decimal is not supported.
// Converted the Int32 value 123 to 123.
// The Double value 1.764E+32 is out of range of the Decimal type.
// Converted the String value 9.78 to 9.78.
// The String value 1e-02 is not recognized as a valid Decimal value.
// Converted the Double value 1670 to 1670.
// The String value A100 is not recognized as a valid Decimal value.
// Converted the String value 1,033.67 to 1033.67.
// Conversion of the DateTime value 10/15/2008 05:40:42 PM to a Decimal is not supported.
// The Double value 1.79769313486232E+308 is out of range of the Decimal type.
Dim values() As Object = { True, "a"c, 123, 1.764e32, "9.78", "1e-02", _
1.67e03, "A100", "1,033.67", Date.Now, _
Double.MaxValue }
Dim result As Decimal
For Each value As Object In values
Try
result = Convert.ToDecimal(value)
Console.WriteLine("Converted the {0} value {1} to {2}.", _
value.GetType().Name, value, result)
Catch e As OverflowException
Console.WriteLine("The {0} value {1} is out of range of the Decimal type.", _
value.GetType().Name, value)
Catch e As FormatException
Console.WriteLine("The {0} value {1} is not recognized as a valid Decimal value.", _
value.GetType().Name, value)
Catch e As InvalidCastException
Console.WriteLine("Conversion of the {0} value {1} to a Decimal is not supported.", _
value.GetType().Name, value)
End Try
Next
' The example displays the following output:
' Converted the Boolean value True to 1.
' Conversion of the Char value a to a Decimal is not supported.
' Converted the Int32 value 123 to 123.
' The Double value 1.764E+32 is out of range of the Decimal type.
' Converted the String value 9.78 to 9.78.
' The String value 1e-02 is not recognized as a valid Decimal value.
' Converted the Double value 1670 to 1670.
' The String value A100 is not recognized as a valid Decimal value.
' Converted the String value 1,033.67 to 1033.67.
' Conversion of the DateTime value 10/15/2008 05:40:42 PM to a Decimal is not supported.
' The Double value 1.79769313486232E+308 is out of range of the Decimal type.
Commenti
Il valore restituito è il risultato della chiamata al IConvertible.ToDecimal metodo del tipo sottostante di value
.The return value is the result of invoking the IConvertible.ToDecimal method of the underlying type of value
.
Vedi anche
Si applica a
ToDecimal(Int64)
Converte il valore dell'intero con segno a 64 bit specificato in un numero decimale equivalente.Converts the value of the specified 64-bit signed integer to an equivalent decimal number.
public:
static System::Decimal ToDecimal(long value);
public static decimal ToDecimal (long value);
static member ToDecimal : int64 -> decimal
Public Shared Function ToDecimal (value As Long) As Decimal
Parametri
- value
- Int64
Intero con segno a 64 bit da convertire.The 64-bit signed integer to convert.
Restituisce
Numero decimale equivalente a value
.A decimal number that is equivalent to value
.
Esempio
Nell'esempio seguente un valore viene convertito Int64 in un valore Decimal .The following example converts an Int64 value to a Decimal value.
public:
void ConvertLongDecimal( Int64 longVal )
{
Decimal decimalVal;
// Long to decimal conversion cannot overflow.
decimalVal = System::Convert::ToDecimal( longVal );
System::Console::WriteLine( " {0} as a decimal is {1}",
longVal, decimalVal );
// Decimal to long conversion can overflow.
try
{
longVal = System::Convert::ToInt64( decimalVal );
System::Console::WriteLine( " {0} as a long is {1}",
decimalVal, longVal );
}
catch ( System::OverflowException^ )
{
System::Console::WriteLine( "Overflow in decimal-to-long conversion." );
}
}
public void ConvertLongDecimal(long longVal) {
decimal decimalVal;
// Long to decimal conversion cannot overflow.
decimalVal = System.Convert.ToDecimal(longVal);
System.Console.WriteLine("{0} as a decimal is {1}",
longVal, decimalVal);
// Decimal to long conversion can overflow.
try {
longVal = System.Convert.ToInt64(decimalVal);
System.Console.WriteLine("{0} as a long is {1}",
decimalVal, longVal);
}
catch (System.OverflowException) {
System.Console.WriteLine(
"Overflow in decimal-to-long conversion.");
}
}
Public Sub ConvertLongDecimal(ByVal longVal As Long)
Dim decimalVal As Decimal
'Long to Decimal conversion cannot overflow.
decimalVal = System.Convert.ToDecimal(longVal)
System.Console.WriteLine("{0} as a Decimal is {1}", _
longVal, decimalVal)
'Decimal to Long conversion can overflow.
Try
longVal = System.Convert.ToInt64(decimalVal)
System.Console.WriteLine("{0} as a Long is {1}", _
decimalVal, longVal)
Catch exception As System.OverflowException
System.Console.WriteLine( _
"Overflow in decimal-to-long conversion.")
End Try
End Sub
Vedi anche
Si applica a
ToDecimal(Int32)
Converte il valore dell'intero con segno a 32 bit specificato in un numero decimale equivalente.Converts the value of the specified 32-bit signed integer to an equivalent decimal number.
public:
static System::Decimal ToDecimal(int value);
public static decimal ToDecimal (int value);
static member ToDecimal : int -> decimal
Public Shared Function ToDecimal (value As Integer) As Decimal
Parametri
- value
- Int32
Intero con segno a 32 bit da convertire.The 32-bit signed integer to convert.
Restituisce
Numero decimale equivalente a value
.A decimal number that is equivalent to value
.
Esempio
Nell'esempio seguente viene convertita una matrice di interi con segno in Decimal valori.The following example converts an array of signed integers to Decimal values.
int[] numbers = { Int32.MinValue, -1000, 0, 1000, Int32.MaxValue };
decimal result;
foreach (int number in numbers)
{
result = Convert.ToDecimal(number);
Console.WriteLine("Converted the Int32 value {0} to the Decimal value {1}.",
number, result);
}
// The example displays the following output:
// Converted the Int32 value -2147483648 to the Decimal value -2147483648.
// Converted the Int32 value -1000 to the Decimal value -1000.
// Converted the Int32 value 0 to the Decimal value 0.
// Converted the Int32 value 1000 to the Decimal value 1000.
// Converted the Int32 value 2147483647 to the Decimal value 2147483647.
Dim numbers() As Integer = { Int32.MinValue, -1000, 0, 1000, Int32.MaxValue }
Dim result As Decimal
For Each number As Integer In numbers
result = Convert.ToDecimal(number)
Console.WriteLine("Converted the Int32 value {0} to the Decimal value {1}.", _
number, result)
Next
' The example displays the following output:
' Converted the Int32 value -2147483648 to the Decimal value -2147483648.
' Converted the Int32 value -1000 to the Decimal value -1000.
' Converted the Int32 value 0 to the Decimal value 0.
' Converted the Int32 value 1000 to the Decimal value 1000.
' Converted the Int32 value 2147483647 to the Decimal value 2147483647.
Vedi anche
Si applica a
ToDecimal(Int16)
Converte il valore dell'intero con segno a 16 bit specificato in un numero decimale equivalente.Converts the value of the specified 16-bit signed integer to an equivalent decimal number.
public:
static System::Decimal ToDecimal(short value);
public static decimal ToDecimal (short value);
static member ToDecimal : int16 -> decimal
Public Shared Function ToDecimal (value As Short) As Decimal
Parametri
- value
- Int16
Intero con segno a 16 bit da convertire.The 16-bit signed integer to convert.
Restituisce
Numero decimale equivalente a value
.A decimal number that is equivalent to value
.
Esempio
Nell'esempio seguente viene convertita una matrice di interi con segno a 16 bit in Decimal valori.The following example converts an array of 16-bit signed integers to Decimal values.
short[] numbers = { Int16.MinValue, -1000, 0, 1000, Int16.MaxValue };
decimal result;
foreach (short number in numbers)
{
result = Convert.ToDecimal(number);
Console.WriteLine("Converted the Int16 value {0} to the Decimal value {1}.",
number, result);
}
// The example displays the following output:
// Converted the Int16 value -32768 to the Decimal value -32768.
// Converted the Int16 value -1000 to the Decimal value -1000.
// Converted the Int16 value 0 to the Decimal value 0.
// Converted the Int16 value 1000 to the Decimal value 1000.
// Converted the Int16 value 32767 to the Decimal value 32767.
Dim numbers() As Short = { Int16.MinValue, -1000, 0, 1000, Int16.MaxValue }
Dim result As Decimal
For Each number As Short In numbers
result = Convert.ToDecimal(number)
Console.WriteLine("Converted the Int16 value {0} to the Decimal value {1}.", _
number, result)
Next
' The example displays the following output:
' Converted the Int16 value -32768 to the Decimal value -32768.
' Converted the Int16 value -1000 to the Decimal value -1000.
' Converted the Int16 value 0 to the Decimal value 0.
' Converted the Int16 value 1000 to the Decimal value 1000.
' Converted the Int16 value 32767 to the Decimal value 32767.
Vedi anche
Si applica a
ToDecimal(Double)
Converte il valore del numero a virgola mobile a precisione doppia specificato in un numero decimale equivalente.Converts the value of the specified double-precision floating-point number to an equivalent decimal number.
public:
static System::Decimal ToDecimal(double value);
public static decimal ToDecimal (double value);
static member ToDecimal : double -> decimal
Public Shared Function ToDecimal (value As Double) As Decimal
Parametri
- value
- Double
Numero a virgola mobile a precisione doppia da convertire.The double-precision floating-point number to convert.
Restituisce
Numero decimale equivalente a value
.A decimal number that is equivalent to value
.
Eccezioni
value
è maggiore di MaxValue o minore di MinValue.value
is greater than MaxValue or less than MinValue.
Esempio
Nell'esempio seguente un valore viene convertito Double in un valore Decimal .The following example converts a Double value to a Decimal value.
public:
void ConvertDoubleDecimal( double doubleVal )
{
Decimal decimalVal;
// Conversion from double to decimal cannot overflow.
decimalVal = System::Convert::ToDecimal( doubleVal );
System::Console::WriteLine( " {0} as a decimal is: {1}",
doubleVal, decimalVal );
// Decimal to double conversion can overflow.
try
{
doubleVal = System::Convert::ToDouble( decimalVal );
System::Console::WriteLine( " {0} as a double is: {1}",
decimalVal, doubleVal );
}
catch ( System::OverflowException^ )
{
System::Console::WriteLine( "Overflow in decimal-to-double conversion." );
}
}
public void ConvertDoubleDecimal(decimal decimalVal){
double doubleVal;
// Decimal to double conversion cannot overflow.
doubleVal = System.Convert.ToDouble(decimalVal);
System.Console.WriteLine("{0} as a double is: {1}",
decimalVal, doubleVal);
// Conversion from double to decimal can overflow.
try
{
decimalVal = System.Convert.ToDecimal(doubleVal);
System.Console.WriteLine ("{0} as a decimal is: {1}",
doubleVal, decimalVal);
}
catch (System.OverflowException) {
System.Console.WriteLine(
"Overflow in double-to-double conversion.");
}
}
Public Sub ConvertDoubleDecimal(ByVal decimalVal As Decimal)
Dim doubleVal As Double
' Decimal to Double conversion cannot overflow.
doubleVal = System.Convert.ToDouble(decimalVal)
System.Console.WriteLine("{0} as a Double is: {1}", _
decimalVal, doubleVal)
' Conversion from Double to Decimal can overflow.
Try
decimalVal = System.Convert.ToDecimal(doubleVal)
System.Console.WriteLine("{0} as a Decimal is: {1}", _
doubleVal, decimalVal)
Catch exception As System.OverflowException
System.Console.WriteLine( _
"Overflow in Double-to-Decimal conversion.")
End Try
End Sub
Commenti
Il Decimal valore restituito da questo metodo contiene un massimo di 15 cifre significative.The Decimal value returned by this method contains a maximum of 15 significant digits. Se il value
parametro contiene più di 15 cifre significative, viene arrotondato utilizzando l'arrotondamento al più vicino.If the value
parameter contains more than 15 significant digits, it is rounded using rounding to nearest. Nell'esempio seguente viene illustrato il modo Convert.ToDecimal(Double) in cui il metodo utilizza l'arrotondamento al più vicino per restituire un Decimal valore con 15 cifre significative.The following example illustrates how the Convert.ToDecimal(Double) method uses rounding to nearest to return a Decimal value with 15 significant digits.
Console.WriteLine(Convert.ToDecimal(123456789012345500.12D)); // Displays 123456789012346000
Console.WriteLine(Convert.ToDecimal(123456789012346500.12D)); // Displays 123456789012346000
Console.WriteLine(Convert.ToDecimal(10030.12345678905D)); // Displays 10030.123456789
Console.WriteLine(Convert.ToDecimal(10030.12345678915D)); // Displays 10030.1234567892
Console.WriteLine(Convert.ToDecimal(123456789012345500.12R)) ' Displays 123456789012346000
Console.WriteLine(Convert.ToDecimal(123456789012346500.12R)) ' Displays 123456789012346000
Console.WriteLine(Convert.ToDecimal(10030.12345678905R)) ' Displays 10030.123456789
Console.WriteLine(Convert.ToDecimal(10030.12345678915R)) ' Displays 10030.1234567892
Vedi anche
Si applica a
ToDecimal(Decimal)
Restituisce il numero decimale specificato; non viene eseguita alcuna conversione effettiva.Returns the specified decimal number; no actual conversion is performed.
public:
static System::Decimal ToDecimal(System::Decimal value);
public static decimal ToDecimal (decimal value);
static member ToDecimal : decimal -> decimal
Public Shared Function ToDecimal (value As Decimal) As Decimal
Parametri
- value
- Decimal
Numero decimale.A decimal number.
Restituisce
value
viene restituito invariato.value
is returned unchanged.
Si applica a
ToDecimal(DateTime)
La chiamata di questo metodo genera sempre un'eccezione InvalidCastException.Calling this method always throws InvalidCastException.
public:
static System::Decimal ToDecimal(DateTime value);
public static decimal ToDecimal (DateTime value);
static member ToDecimal : DateTime -> decimal
Public Shared Function ToDecimal (value As DateTime) As Decimal
Parametri
- value
- DateTime
Valore di data e ora da convertire.The date and time value to convert.
Restituisce
Questa conversione non è supportata.This conversion is not supported. Non vengono restituiti valori.No value is returned.
Eccezioni
Questa conversione non è supportata.This conversion is not supported.
Si applica a
ToDecimal(Char)
La chiamata di questo metodo genera sempre un'eccezione InvalidCastException.Calling this method always throws InvalidCastException.
public:
static System::Decimal ToDecimal(char value);
public static decimal ToDecimal (char value);
static member ToDecimal : char -> decimal
Public Shared Function ToDecimal (value As Char) As Decimal
Parametri
- value
- Char
Carattere Unicode da convertire.The Unicode character to convert.
Restituisce
Questa conversione non è supportata.This conversion is not supported. Non vengono restituiti valori.No value is returned.
Eccezioni
Questa conversione non è supportata.This conversion is not supported.
Esempio
Nell'esempio seguente viene effettuato un tentativo di conversione di un Char valore in e viene generata un'eccezione in caso di Decimal InvalidCastException errore.The following example attempts to convert a Char value to Decimal, and throws InvalidCastException upon failure.
public:
void ConvertCharDecimal( Char charVal )
{
Decimal decimalVal = 0;
// Char to decimal conversion is not supported and will always
// throw an InvalidCastException.
try
{
decimalVal = System::Convert::ToDecimal( charVal );
}
catch ( System::InvalidCastException^ )
{
System::Console::WriteLine(
"Char-to-Decimal conversion is not supported by the .NET Framework." );
}
//Decimal to char conversion is also not supported.
try
{
charVal = System::Convert::ToChar( decimalVal );
}
catch ( System::InvalidCastException^ )
{
System::Console::WriteLine(
"Decimal-to-Char conversion is not supported by the .NET Framework." );
}
}
public void ConvertCharDecimal(char charVal) {
Decimal decimalVal = 0;
// Char to decimal conversion is not supported and will always
// throw an InvalidCastException.
try {
decimalVal = System.Convert.ToDecimal(charVal);
}
catch (System.InvalidCastException) {
System.Console.WriteLine(
"Char-to-Decimal conversion is not supported " +
"by the .NET Framework.");
}
//Decimal to char conversion is also not supported.
try {
charVal = System.Convert.ToChar(decimalVal);
}
catch (System.InvalidCastException) {
System.Console.WriteLine(
"Decimal-to-Char conversion is not supported " +
"by the .NET Framework.");
}
}
Public Sub ConvertCharDecimal(ByVal charVal As Char)
Dim decimalVal As [Decimal] = 0
' Char to decimal conversion is not supported and will always
' throw an InvalidCastException.
Try
decimalVal = System.Convert.ToDecimal(charVal)
Catch exception As System.InvalidCastException
System.Console.WriteLine( _
"Char-to-Decimal conversion is not supported " + _
"by the .NET Framework.")
End Try
'Decimal to char conversion is also not supported.
Try
charVal = System.Convert.ToChar(decimalVal)
Catch exception As System.InvalidCastException
System.Console.WriteLine( _
"Decimal-to-Char conversion is not supported " + _
"by the .NET Framework.")
End Try
End Sub
Vedi anche
Si applica a
ToDecimal(Byte)
Converte il valore dell'intero senza segno a 8 bit specificato nel numero decimale equivalente.Converts the value of the specified 8-bit unsigned integer to the equivalent decimal number.
public:
static System::Decimal ToDecimal(System::Byte value);
public static decimal ToDecimal (byte value);
static member ToDecimal : byte -> decimal
Public Shared Function ToDecimal (value As Byte) As Decimal
Parametri
- value
- Byte
Intero senza segno a 8 bit da convertire.The 8-bit unsigned integer to convert.
Restituisce
Numero decimale equivalente a value
.The decimal number that is equivalent to value
.
Esempio
Nell'esempio seguente un valore viene convertito Byte in un valore Decimal .The following example converts a Byte value to a Decimal value.
public:
void ConvertByteDecimal( Byte byteVal )
{
Decimal decimalVal;
// Byte to decimal conversion will not overflow.
decimalVal = System::Convert::ToDecimal( byteVal );
System::Console::WriteLine( "The Byte as a decimal is {0}.",
decimalVal );
// Decimal to Byte conversion can overflow.
try
{
byteVal = System::Convert::ToByte( decimalVal );
System::Console::WriteLine( "The Decimal as a Byte is {0}.",
byteVal );
}
catch ( System::OverflowException^ )
{
System::Console::WriteLine(
"The decimal value is too large for a Byte." );
}
}
public void ConvertByteDecimal(byte byteVal) {
decimal decimalVal;
// Byte to decimal conversion will not overflow.
decimalVal = System.Convert.ToDecimal(byteVal);
System.Console.WriteLine("The byte as a decimal is {0}.",
decimalVal);
// Decimal to byte conversion can overflow.
try {
byteVal = System.Convert.ToByte(decimalVal);
System.Console.WriteLine("The Decimal as a byte is {0}.",
byteVal);
}
catch (System.OverflowException) {
System.Console.WriteLine(
"The decimal value is too large for a byte.");
}
}
Public Sub ConvertByteDecimal(ByVal byteVal As Byte)
Dim decimalVal As Decimal
' Byte to decimal conversion will not overflow.
decimalVal = System.Convert.ToDecimal(byteVal)
System.Console.WriteLine("The byte as a decimal is {0}.", _
decimalVal)
' Decimal to byte conversion can overflow.
Try
byteVal = System.Convert.ToByte(decimalVal)
System.Console.WriteLine("The Decimal as a byte is {0}.", _
byteVal)
Catch exception As System.OverflowException
System.Console.WriteLine( _
"Overflow in decimal-to-byte conversion.")
End Try
End Sub
Vedi anche
Si applica a
ToDecimal(Boolean)
Converte il valore booleano specificato nel numero decimale equivalente.Converts the specified Boolean value to the equivalent decimal number.
public:
static System::Decimal ToDecimal(bool value);
public static decimal ToDecimal (bool value);
static member ToDecimal : bool -> decimal
Public Shared Function ToDecimal (value As Boolean) As Decimal
Parametri
- value
- Boolean
Valore booleano da convertire.The Boolean value to convert.
Restituisce
Il numero 1 se value
è true
; in caso contrario, 0.The number 1 if value
is true
; otherwise, 0.
Esempio
Nell'esempio seguente viene illustrata la conversione di Boolean in Decimal valori.The following example illustrates the conversion of Boolean to Decimal values.
bool[] flags = { true, false };
decimal result;
foreach (bool flag in flags)
{
result = Convert.ToDecimal(flag);
Console.WriteLine("Converted {0} to {1}.", flag, result);
}
// The example displays the following output:
// Converted True to 1.
// Converted False to 0.
Dim flags() As Boolean = { True, False }
Dim result As Decimal
For Each flag As Boolean In flags
result = Convert.ToDecimal(flag)
Console.WriteLine("Converted {0} to {1}.", flag, result)
Next
' The example displays the following output:
' Converted True to 1.
' Converted False to 0.