Convert.ToDecimal 메서드

정의

지정된 값을 10진수로 변환합니다.Converts a specified value to a decimal number.

오버로드

ToDecimal(String, IFormatProvider)

지정된 문화권별 서식 지정 정보를 사용하여, 숫자의 지정된 문자열 표현을 해당하는 10진수로 변환합니다.Converts the specified string representation of a number to an equivalent decimal number, using the specified culture-specific formatting information.

ToDecimal(Object, IFormatProvider)

지정된 문화권별 서식 지정 정보를 사용하여, 지정된 개체의 값을 해당하는 10진수로 변환합니다.Converts the value of the specified object to an equivalent decimal number, using the specified culture-specific formatting information.

ToDecimal(UInt64)

지정된 64비트 부호 없는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 64-bit unsigned integer to an equivalent decimal number.

ToDecimal(UInt32)

지정된 32비트 부호 없는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 32-bit unsigned integer to an equivalent decimal number.

ToDecimal(UInt16)

지정된 16비트 부호 없는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 16-bit unsigned integer to an equivalent decimal number.

ToDecimal(String)

숫자의 지정된 문자열 표현을 해당하는 10진수로 변환합니다.Converts the specified string representation of a number to an equivalent decimal number.

ToDecimal(SByte)

지정된 8비트 부호 있는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 8-bit signed integer to the equivalent decimal number.

ToDecimal(Object)

지정된 개체 값을 해당하는 10진수로 변환합니다.Converts the value of the specified object to an equivalent decimal number.

ToDecimal(Single)

지정된 단정밀도 부동 소수점 숫자 값을 해당하는 10진수로 변환합니다.Converts the value of the specified single-precision floating-point number to the equivalent decimal number.

ToDecimal(Int32)

지정된 32비트 부호 있는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 32-bit signed integer to an equivalent decimal number.

ToDecimal(Boolean)

지정된 부울 값을 해당하는 10진수로 변환합니다.Converts the specified Boolean value to the equivalent decimal number.

ToDecimal(Byte)

지정된 8비트 부호 없는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 8-bit unsigned integer to the equivalent decimal number.

ToDecimal(Char)

이 메서드를 호출하면 InvalidCastException이 항상 throw됩니다.Calling this method always throws InvalidCastException.

ToDecimal(Int64)

지정된 64비트 부호 있는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 64-bit signed integer to an equivalent decimal number.

ToDecimal(Decimal)

지정된 10진수를 실제 변환 작업 없이 반환합니다.Returns the specified decimal number; no actual conversion is performed.

ToDecimal(Double)

지정된 배정밀도 부동 소수점 숫자 값을 해당하는 10진수로 변환합니다.Converts the value of the specified double-precision floating-point number to an equivalent decimal number.

ToDecimal(Int16)

지정된 16비트 부호 있는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 16-bit signed integer to an equivalent decimal number.

ToDecimal(DateTime)

이 메서드를 호출하면 InvalidCastException이 항상 throw됩니다.Calling this method always throws InvalidCastException.

ToDecimal(String, IFormatProvider)

지정된 문화권별 서식 지정 정보를 사용하여, 숫자의 지정된 문자열 표현을 해당하는 10진수로 변환합니다.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

매개 변수

value
String

변환할 숫자가 포함된 문자열입니다.A string that contains a number to convert.

provider
IFormatProvider

문화권별 서식 지정 정보를 제공하는 개체입니다.An object that supplies culture-specific formatting information.

반환

value의 숫자에 해당하는 10진수이거나, valuenull이면 0입니다.A decimal number that is equivalent to the number in value, or 0 (zero) if value is null.

예외

value는 유효한 형식의 숫자가 아닙니다.value is not a number in a valid format.

valueMinValue보다 작거나 MaxValue보다 큰 숫자를 나타냅니다.value represents a number that is less than MinValue or greater than MaxValue.

예제

다음 예제에서는 문자열의 배열로 변환 하려고 Decimal 를 사용 하 여 값 NumberFormatInfo 두 개의 다른 문화권을 나타내는 개체입니다.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

설명

반환 값은 호출의 결과 Decimal.Parse 메서드를 value입니다.The return value is the result of invoking the Decimal.Parse method on value.

provider IFormatProvider 인스턴스를 가져오는 NumberFormatInfo 개체입니다.provider is an IFormatProvider instance that obtains a NumberFormatInfo object. 합니다 NumberFormatInfo 개체의 형식에 대 한 문화권별 형식 정보를 제공 value합니다.The NumberFormatInfo object provides culture-specific information about the format of value. 하는 경우 provider 됩니다 null, NumberFormatInfo 현재 문화권이 사용 됩니다.If provider is null, the NumberFormatInfo for the current culture is used.

변환에 실패 하면 예외를 처리 하지 않으려는 경우 호출할 수 있습니다는 Decimal.TryParse 메서드 대신 합니다.If you prefer not to handle an exception if the conversion fails, you can call the Decimal.TryParse method instead. 반환 된 Boolean 변환이 성공 또는 실패 여부를 나타내는 값입니다.It returns a Boolean value that indicates whether the conversion succeeded or failed.

ToDecimal(Object, IFormatProvider)

지정된 문화권별 서식 지정 정보를 사용하여, 지정된 개체의 값을 해당하는 10진수로 변환합니다.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

매개 변수

value
Object

IConvertible 인터페이스를 구현하는 개체An object that implements the IConvertible interface.

provider
IFormatProvider

문화권별 서식 지정 정보를 제공하는 개체입니다.An object that supplies culture-specific formatting information.

반환

value에 해당하는 10진수이거나, valuenull이면 0입니다.A decimal number that is equivalent to value, or 0 (zero) if value is null.

예외

valueDecimal 형식에 대한 적절한 형식이 아닙니다.value is not in an appropriate format for a Decimal type.

valueIConvertible 인터페이스를 구현하지 않습니다.value does not implement the IConvertible interface.

또는-or- 이 변환은 지원되지 않습니다.The conversion is not supported.

valueMinValue보다 작거나 MaxValue보다 큰 숫자를 나타냅니다.value represents a number that is less than MinValue or greater than MaxValue.

예제

다음 예제에서는 Temperature 인터페이스를 구현하는 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

다음 예에서는 때를 Temperature 개체에 대 한 매개 변수로 전달 됩니다 합니다 ToDecimal(Object, IFormatProvider) 메서드를를 IConvertible.ToDecimal 구현의 Temperature 클래스는 변환을 수행 하기 위해 호출 됩니다.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

설명

반환 값은 호출의 결과 IConvertible.ToDecimal 기본 형식의 메서드 value합니다.The return value is the result of invoking the IConvertible.ToDecimal method of the underlying type of value.

provider 사용자의 내용에 대 한 문화권별 형식 변환 정보를 지정할 수 있게 value합니다.provider enables the user to specify culture-specific conversion information about the contents of value. 기본 형식을 무시 provider하지만 경우에 매개 변수를 사용할 수 있습니다 value 구현 하는 사용자 정의 형식인는 IConvertible 인터페이스입니다.The base types ignore provider; however, the parameter may be used if value is a user-defined type that implements the IConvertible interface.

추가 정보

ToDecimal(UInt64)

중요

이 API는 CLS 규격이 아닙니다.

지정된 64비트 부호 없는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 64-bit unsigned integer to an equivalent decimal number.

public:
 static System::Decimal ToDecimal(System::UInt64 value);
[System.CLSCompliant(false)]
public static decimal ToDecimal (ulong value);
static member ToDecimal : uint64 -> decimal
Public Shared Function ToDecimal (value As ULong) As Decimal

매개 변수

value
UInt64

변환할 64비트 부호 없는 정수입니다.The 64-bit unsigned integer to convert.

반환

value에 해당하는 10진수입니다.A decimal number that is equivalent to value.

특성

예제

다음 예제에서는 부호 없는 정수 (long)의 배열을 변환 Decimal 값입니다.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.

추가 정보

ToDecimal(UInt32)

중요

이 API는 CLS 규격이 아닙니다.

지정된 32비트 부호 없는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 32-bit unsigned integer to an equivalent decimal number.

public:
 static System::Decimal ToDecimal(System::UInt32 value);
[System.CLSCompliant(false)]
public static decimal ToDecimal (uint value);
static member ToDecimal : uint32 -> decimal
Public Shared Function ToDecimal (value As UInteger) As Decimal

매개 변수

value
UInt32

변환할 32비트 부호 없는 정수입니다.The 32-bit unsigned integer to convert.

반환

value에 해당하는 10진수입니다.A decimal number that is equivalent to value.

특성

예제

다음 예제에서는 부호 없는 정수의 배열을 변환 Decimal 값입니다.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.

추가 정보

ToDecimal(UInt16)

중요

이 API는 CLS 규격이 아닙니다.

지정된 16비트 부호 없는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 16-bit unsigned integer to an equivalent decimal number.

public:
 static System::Decimal ToDecimal(System::UInt16 value);
[System.CLSCompliant(false)]
public static decimal ToDecimal (ushort value);
static member ToDecimal : uint16 -> decimal
Public Shared Function ToDecimal (value As UShort) As Decimal

매개 변수

value
UInt16

변환할 16비트 부호 없는 정수입니다.The 16-bit unsigned integer to convert.

반환

value에 해당하는 10진수입니다.The decimal number that is equivalent to value.

특성

예제

다음 예제에서는 16 비트 부호 없는 정수의 배열을 변환 Decimal 값입니다.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.      

추가 정보

ToDecimal(String)

숫자의 지정된 문자열 표현을 해당하는 10진수로 변환합니다.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

매개 변수

value
String

변환할 숫자가 포함된 문자열입니다.A string that contains a number to convert.

반환

value의 숫자에 해당하는 10진수이거나, valuenull이면 0입니다.A decimal number that is equivalent to the number in value, or 0 (zero) if value is null.

예외

value는 유효한 형식의 숫자가 아닙니다.value is not a number in a valid format.

valueMinValue보다 작거나 MaxValue보다 큰 숫자를 나타냅니다.value represents a number that is less than MinValue or greater than MaxValue.

예제

다음 예제에서는 ToDecimal합니다.The following example illustrates the use of ToDecimal. 변환 하기를 StringDecimal를 변환 하는 동안 발생할 수 있는 가능한 예외를 throw 하 고 합니다.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

설명

사용 하는 ToDecimal(String) 에 전달 하는 것과 같습니다 valueDecimal.Parse(String) 메서드.Using the ToDecimal(String) method is equivalent to passing value to the Decimal.Parse(String) method. value는 현재 스레드 문화권의 서식 지정 규칙을 사용하여 해석됩니다.value is interpreted by using the formatting conventions of the current thread culture.

변환에 실패 하면 예외를 처리 하지 않으려는 경우 호출할 수 있습니다는 Decimal.TryParse 메서드 대신 합니다.If you prefer not to handle an exception if the conversion fails, you can call the Decimal.TryParse method instead. 반환 된 Boolean 변환이 성공 또는 실패 여부를 나타내는 값입니다.It returns a Boolean value that indicates whether the conversion succeeded or failed.

ToDecimal(SByte)

중요

이 API는 CLS 규격이 아닙니다.

지정된 8비트 부호 있는 정수 값을 해당하는 10진수로 변환합니다.Converts the value of the specified 8-bit signed integer to the equivalent decimal number.

public:
 static System::Decimal ToDecimal(System::SByte value);
[System.CLSCompliant(false)]
public static decimal ToDecimal (sbyte value);
static member ToDecimal : sbyte -> decimal
Public Shared Function ToDecimal (value As SByte) As Decimal

매개 변수

value
SByte

변환할 8비트 부호 있는 정수입니다.The 8-bit signed integer to convert.

반환

value에 해당하는 10진수입니다.A decimal number that is equivalent to value.

특성

예제

부호 있는 바이트 배열에서 각 요소를 변환 하는 다음 예제는 Decimal 값입니다.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.

추가 정보

ToDecimal(Object)

지정된 개체 값을 해당하는 10진수로 변환합니다.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

매개 변수

value
Object

IConvertible 인터페이스를 구현하는 개체나 null입니다.An object that implements the IConvertible interface, or null.

반환

value에 해당하는 10진수이거나, valuenull이면 0입니다.A decimal number that is equivalent to value, or 0 (zero) if value is null.

예외

valueDecimal 형식에 대한 적절한 형식이 아닙니다.value is not in an appropriate format for a Decimal type.

valueIConvertible 인터페이스를 구현하지 않습니다.value does not implement the IConvertible interface.

또는-or- 이 변환은 지원되지 않습니다.The conversion is not supported.

valueMinValue보다 작거나 MaxValue보다 큰 숫자를 나타냅니다.value represents a number that is less than MinValue or greater than MaxValue.

예제

다음 예제에서는 개체 배열의 각 요소를 변환 하려고 합니다.는 Decimal 값입니다.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.      

설명

반환 값은 호출의 결과 IConvertible.ToDecimal 기본 형식의 메서드 value합니다.The return value is the result of invoking the IConvertible.ToDecimal method of the underlying type of value.

추가 정보

ToDecimal(Single)

지정된 단정밀도 부동 소수점 숫자 값을 해당하는 10진수로 변환합니다.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

매개 변수

value
Single

변환할 단정밀도 부동 소수점 숫자입니다.The single-precision floating-point number to convert.

반환

value에 해당하는 10진수입니다.A decimal number that is equivalent to value.

예외

valueMaxValue보다 크거나 MinValue보다 작습니다.value is greater than MaxValue or less than MinValue.

예제

다음 예제에서는 배열의 각 요소를 변환 하려고 Single 값을 Decimal 값입니다.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.

설명

Decimal 7 개의 유효 자릿수의 최대값을 포함 하는이 메서드에서 반환 된 값입니다.The Decimal value returned by this method contains a maximum of seven significant digits. 경우는 value 매개 변수 7 개 이상의 유효 자릿수가 포함, 가장 가까운 수로 반올림을 사용 하 여 반올림 됩니다.If the value parameter contains more than seven significant digits, it is rounded using rounding to nearest. 다음 예제를 하는 방법을 ToDecimal(Single) 반환에 가장 가까운 수로 반올림을 사용 하 여 메서드를 Decimal 유효 자릿수가 7 자리인 값입니다.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

추가 정보

ToDecimal(Int32)

지정된 32비트 부호 있는 정수 값을 해당하는 10진수로 변환합니다.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

매개 변수

value
Int32

변환할 32비트 부호 있는 정수입니다.The 32-bit signed integer to convert.

반환

value에 해당하는 10진수입니다.A decimal number that is equivalent to value.

예제

다음 예제에서는 변환으로 부호 있는 정수 배열을 Decimal 값입니다.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.      

추가 정보

ToDecimal(Boolean)

지정된 부울 값을 해당하는 10진수로 변환합니다.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

매개 변수

value
Boolean

변환할 부울 값입니다.The Boolean value to convert.

반환

valuetrue이면 숫자 1을 반환하고, 그렇지 않으면 0을 반환합니다.The number 1 if value is true; otherwise, 0.

예제

다음 예제에서는 변환을 BooleanDecimal 값입니다.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.      

추가 정보

ToDecimal(Byte)

지정된 8비트 부호 없는 정수 값을 해당하는 10진수로 변환합니다.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

매개 변수

value
Byte

변환할 8비트 부호 없는 정수입니다.The 8-bit unsigned integer to convert.

반환

value에 해당하는 10진수입니다.The decimal number that is equivalent to value.

예제

다음 예제는 Byte 값을 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

추가 정보

ToDecimal(Char)

이 메서드를 호출하면 InvalidCastException이 항상 throw됩니다.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

매개 변수

value
Char

변환할 유니코드 문자입니다.The Unicode character to convert.

반환

이 변환은 지원되지 않습니다.This conversion is not supported. 값이 반환되지 않습니다.No value is returned.

예외

이 변환은 지원되지 않습니다.This conversion is not supported.

예제

다음 예제에서는 변환 합니다는 Char 값을 Decimal, throw 및 InvalidCastException 실패 시.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

추가 정보

ToDecimal(Int64)

지정된 64비트 부호 있는 정수 값을 해당하는 10진수로 변환합니다.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

매개 변수

value
Int64

변환할 64비트 부호 있는 정수입니다.The 64-bit signed integer to convert.

반환

value에 해당하는 10진수입니다.A decimal number that is equivalent to value.

예제

다음 예제는 Int64 값을 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

추가 정보

ToDecimal(Decimal)

지정된 10진수를 실제 변환 작업 없이 반환합니다.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

매개 변수

value
Decimal

10진수입니다.A decimal number.

반환

value를 변경하지 않고 반환합니다.value is returned unchanged.

ToDecimal(Double)

지정된 배정밀도 부동 소수점 숫자 값을 해당하는 10진수로 변환합니다.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

매개 변수

value
Double

변환할 배정밀도 부동 소수점 숫자입니다.The double-precision floating-point number to convert.

반환

value에 해당하는 10진수입니다.A decimal number that is equivalent to value.

예외

valueMaxValue보다 크거나 MinValue보다 작습니다.value is greater than MaxValue or less than MinValue.

예제

다음 예제는 Double 값을 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

설명

Decimal 이 메서드에서 반환 된 값 15 자릿수의 최대값을 포함 합니다.The Decimal value returned by this method contains a maximum of 15 significant digits. 경우는 value 15 개 이상의 유효 자릿수를 포함 하는 매개 변수를 가장 가까운 수로 반올림을 사용 하 여 반올림 됩니다.If the value parameter contains more than 15 significant digits, it is rounded using rounding to nearest. 다음 예제를 하는 방법을 Convert.ToDecimal(Double) 반환에 가장 가까운 수로 반올림을 사용 하 여 메서드를 Decimal 유효 자릿수가 15 자리인 값입니다.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

추가 정보

ToDecimal(Int16)

지정된 16비트 부호 있는 정수 값을 해당하는 10진수로 변환합니다.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

매개 변수

value
Int16

변환할 16비트 부호 있는 정수입니다.The 16-bit signed integer to convert.

반환

value에 해당하는 10진수입니다.A decimal number that is equivalent to value.

예제

다음 예제에서는 변환으로 16 비트 부호 있는 정수 배열을 Decimal 값입니다.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.

추가 정보

ToDecimal(DateTime)

이 메서드를 호출하면 InvalidCastException이 항상 throw됩니다.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

매개 변수

value
DateTime

변환할 날짜 및 시간 값입니다.The date and time value to convert.

반환

이 변환은 지원되지 않습니다.This conversion is not supported. 값이 반환되지 않습니다.No value is returned.

예외

이 변환은 지원되지 않습니다.This conversion is not supported.

적용 대상