정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Decimal.ToDouble 메서드

2013-12-13

지정된 Decimal의 값을 값이 같은 배정밀도 부동 소수점 숫자로 변환합니다.

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)

public static double ToDouble(
	decimal d
)

매개 변수

d
형식: System.Decimal
변환할 Decimal 값입니다.

반환 값

형식: System.Double
d와 값이 같은 배정밀도 부동 소수점 숫자입니다.

배정밀도 부동 소수점 숫자가 Decimal보다 적은 수의 유효 숫자를 가지므로 이 연산은 반올림 오류를 발생시킬 수 있습니다.

다음 코드 예제에서는 ToDouble 메서드를 사용하여 Decimal 숫자를 Double 값으로 변환합니다.


// Example of the decimal.ToSingle and decimal.ToDouble methods.
using System;

class Example
{
   static string formatter = "{0,30}{1,17}{2,23}";

   // Convert the decimal argument; no exceptions are thrown.
   public static void DecimalToSgl_Dbl(System.Windows.Controls.TextBlock outputBlock, decimal argument)
   {
      object SingleValue;
      object DoubleValue;

      // Convert the argument to a float value.
      SingleValue = decimal.ToSingle(argument);

      // Convert the argument to a double value.
      DoubleValue = decimal.ToDouble(argument);

      outputBlock.Text += String.Format(formatter, argument,
          SingleValue, DoubleValue) + "\n";
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text += String.Format("This example of the \n" +
          "  decimal.ToSingle( decimal ) and \n" +
          "  decimal.ToDouble( decimal ) \nmethods " +
          "generates the following output. It \ndisplays " +
          "several converted decimal values.\n") + "\n";
      outputBlock.Text += String.Format(formatter, "decimal argument",
          "float", "double") + "\n";
      outputBlock.Text += String.Format(formatter, "----------------",
          "-----", "------") + "\n";

      // Convert decimal values and display the results.
      DecimalToSgl_Dbl(outputBlock, 0.0000000000000000000000000001M);
      DecimalToSgl_Dbl(outputBlock, 0.0000000000123456789123456789M);
      DecimalToSgl_Dbl(outputBlock, 123M);
      DecimalToSgl_Dbl(outputBlock, new decimal(123000000, 0, 0, false, 6));
      DecimalToSgl_Dbl(outputBlock, 123456789.123456789M);
      DecimalToSgl_Dbl(outputBlock, 123456789123456789123456789M);
      DecimalToSgl_Dbl(outputBlock, decimal.MinValue);
      DecimalToSgl_Dbl(outputBlock, decimal.MaxValue);
   }
}

/*
This example of the
  decimal.ToSingle( decimal ) and
  decimal.ToDouble( decimal )
methods generates the following output. It
displays several converted decimal values.

              decimal argument            float                 double
              ----------------            -----                 ------
0.0000000000000000000000000001            1E-28                  1E-28
0.0000000000123456789123456789     1.234568E-11   1.23456789123457E-11
                           123              123                    123
                    123.000000              123                    123
           123456789.123456789     1.234568E+08       123456789.123457
   123456789123456789123456789     1.234568E+26   1.23456789123457E+26
-79228162514264337593543950335    -7.922816E+28  -7.92281625142643E+28
 79228162514264337593543950335     7.922816E+28   7.92281625142643E+28
*/


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시: