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