C#의 Float vs Double vs Decimal

Muhammad Maisam Abbas 2024년2월16일
  1. C#의 Float 데이터 형식
  2. C#의 Double 데이터 형식
  3. C#의 Decimal 데이터 형식
  4. C#의 Float vs Double vs Decimal
C#의 Float vs Double vs Decimal

이 자습서에서는 C#의 Float, Double 및 Decimal 데이터 형식 간의 유사점과 차이점에 대해 설명합니다.

C#의 Float 데이터 형식

Float 데이터 유형은 C#에 부동 소수점 값을 저장합니다. float키워드는 float 변수를 선언하는 데 사용됩니다. 컴파일러에게 값이 부동 소수점 값임을 알리기 위해 초기화 중에f지정자를 사용해야합니다. 부동 변수의 크기는32 비트-3.402823e38에서+3.402823e38까지의 값을 저장할 수 있습니다. float 변수는 C#에서7숫자의 정밀도를 갖습니다. 다음 코드 예제는 C#에서 float 변수를 선언하는 방법을 보여줍니다.

using System;

namespace data_types {
  static void Main(string[] args) {
    float fval = 100.0f / 3;
    Console.WriteLine(fval);
  }
}
}

출력:

33.33333

C#에서float키워드와f지정자를 사용하여 float 변수fval을 초기화했습니다. 인쇄 된 출력은fval의 정밀도가7숫자임을 보여줍니다.

C#의 Double 데이터 형식

Double 데이터 형식은 C#의 부동 소수점 값도 저장합니다. double키워드는 이중 변수를 선언하는 데 사용됩니다. 컴파일러에게 값이 double 값임을 알리기 위해 초기화 중에d지정자를 사용해야합니다. double 변수는 크기가64 비트이며 이는-1.79769313486232e308에서+1.79769313486232e308까지의 값을 저장할 수 있음을 의미합니다. double 변수는 C#에서15자리의 정밀도를 갖습니다. 다음 코드 예제는 C#에서 double 변수를 선언하는 방법을 보여줍니다.

using System;

namespace data_types {
  static void Main(string[] args) {
    double dval = 100.0d / 3;
    Console.WriteLine(dval);
  }
}
}

출력:

33.3333333333333

C#에서double키워드와d지정자를 사용하여 이중 변수dval을 초기화했습니다. 인쇄 된 출력은dval의 정밀도가15숫자임을 보여줍니다.

C#의 Decimal 데이터 형식

Decimal 데이터 형식은 부동 소수점 값도 C#에 저장합니다. decimal키워드는 10 진수 변수를 선언하는 데 사용됩니다. 초기화 중에M지정자를 사용하여 값이 10 진수 값임을 컴파일러에 알려야합니다. 10 진수 변수는128 비트크기로-79,228,162,514,264,337,593,543,950,335에서+79,228,162,514,264,337,593,543,950,335까지의 값을 저장할 수 있음을 의미합니다. 10 진수 변수는 C#에서29자리의 정밀도를 갖습니다. 다음 코드 예제는 C#에서 십진 변수를 선언하는 방법을 보여줍니다.

using System;

namespace data_types {
  static void Main(string[] args) {
    decimal dval = 100.0M / 3;
    Console.WriteLine(dval);
  }
}
}

출력:

33.333333333333333333333333333

C#에서decimal키워드와M지정자를 사용하여 소수 변수dval을 초기화했습니다. 인쇄 된 출력은dval의 정밀도가29숫자임을 보여줍니다.

C#의 Float vs Double vs Decimal

floatdouble데이터 유형은decimal데이터 유형보다 정밀도와 크기가 낮습니다. 따라서decimal데이터 유형은 금융 거래와 같이 많은 유효 숫자가 필요한 민감한 정보를 기록하는 데 권장됩니다. 그러나decimal데이터 유형은floatdouble데이터 유형보다 훨씬 느립니다. 따라서 이미 근사치이고 매우 높은 정밀도가 필요하지 않은 과학적 값을 다룰 때마다 필요에 따라float또는double데이터 유형을 사용할 수 있습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Csharp Float

관련 문장 - Csharp Double

관련 문장 - Csharp Decimal