C#에서 Double을 Decimal로 변환

Saad Aslam 2023년10월12일
  1. C#의 Double 및 Decimal 개요
  2. Convert.ToDecimal(Double) 메서드를 사용하여 C#에서 Double을 Decimal로 변환
C#에서 Double을 Decimal로 변환

이 게시물에서는 프로그래밍 언어 C#을 사용하여 double을 십진수로 변환하는 방법을 살펴봅니다.

이 문제를 해결하는 방법에는 여러 가지가 있습니다. 그러나 가장 유용하고 정확한 설명에 중점을 둘 것입니다.

C#의 Double 및 Decimal 개요

double의 수학 계산은 2진수를 사용하는 반면 십진수는 10진수를 사용합니다. 컴퓨터에서 2진법으로 계산하는 것은 다른 진법보다 실질적으로 “더 빠릅니다”.

또한 double의 초점은 성능에 있는 반면 decimal의 초점은 정확성에 있습니다. double을 사용하면 계산 결과가 그다지 정확하지 않지만 만족스러운 응답을 훨씬 더 빨리 얻을 수 있습니다.

Convert.ToDecimal(Double) 메서드를 사용하여 C#에서 Double을 Decimal로 변환

System.Convert 네임스페이스에 있는 Convert.ToDecimal(Double) 메서드를 사용하여 double에서 십진수로 변환합니다. 이 메서드는 double 유형의 값을 인수로 받아들이고 decimal 유형의 값을 반환합니다.

이 함수는 10진수만 반환할 수 있으며 해당 값은 15자리 이하의 유효 숫자를 가질 수 있습니다. 값 매개변수에 15개 이상의 유효 숫자가 포함된 경우 사용되기 전에 가장 가까운 소수점으로 반올림됩니다.

다음 라인별 예는 시스템이 Convert.ToDecimal(Double) 메서드를 사용하여 숫자 값을 가장 가까운 정수로 내림하는 방법을 보여줍니다.

시스템 라이브러리를 가져오고 Main() 함수가 포함된 클래스를 만듭니다.

using System;

public class DoubleToDecimalbySaad {
  public static void Main() {}
}

double 데이터 유형을 사용하여 xy라는 이름의 두 변수를 만들고 Main() 함수 내에 있는 동안 각각에 이중 값을 추가합니다.

double x = 1234567890123475.12D;
double y = 1234567890123458.12D;

다음으로 Convert.ToDecimal() 함수를 사용하고 xy 값을 전달합니다. 제공된 단정밀도 부동 소수점 숫자 값을 해당하는 10진수 값으로 변환합니다.

Console.WriteLine("The decimal value of the first number is: " + Convert.ToDecimal(x));
Console.WriteLine("The decimal value of the second number is: " + Convert.ToDecimal(y));

완전한 소스 코드:

using System;

public class DoubleToDecimalbySaad {
  public static void Main() {
    double x = 1234567890123475.12D;
    double y = 1234567890123458.12D;
    Console.WriteLine("The decimal value of the first number is: " + Convert.ToDecimal(x));
    Console.WriteLine("The decimal value of the second number is: " + Convert.ToDecimal(y));
  }
}

출력:

The decimal value of the first number is: 1234567890123480
The decimal value of the second number is: 1234567890123460
작가: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

관련 문장 - Csharp Math