반응형
double int 형변환 혹은 decimal int 형변환
형변환은 몇가지 방법이 존재하는데
1.암시적 형변환
하위 자료형 -> 상위 자료형으로 형변환
정수 -> 실수 형변환 가능 (int -> double)
실수 -> 정수 형변환 불가 (double -> int)
double d = 1; (가능)
int i = 0.6; (불가 - 형식 불일치 오류 발생)
2.명시적 형변환 (캐스팅)
직접 자료형을 명시하여 변환
단 double 값이 int.MaxValue 보다 클 경우 오류 발생
소수점 이하 자리수에 대해 버림 처리
int i = (int)0.6; // 결과: 0
3.도우미 클래스 형변환
System.Convert 클래스, 기본 제공 숫자형식의 Parse 메서드 등.
Parse 메서드: string을 변환하는 클래스
int 형식의 문자열을 int로 변환해주므로 실수는 변환 불가
Convert: 소수점 이하 반올림 처리
int i = int.Parse(“0.6”); // 오류
int i = int.Parse(“1”); // 결과: 1
int i = Convert.ToInt32(0.6); // 결과: 1
int i = Convert.ToInt32(0.5); // 결과: 0
결론
실수를 정수로 변환할 때 소수점 이하를 반올림하여 손실 최소화하는 방법
1. Round 메서드로 반올림 > int 형변환
(int)Math.Round(0.6, 0);
2. Convert 메서드 사용
Convert.ToInt32(0.6);
반응형
'C#' 카테고리의 다른 글
IDX12729: Unable to decode the header '[PII is hidden]' 해결방법 (0) | 2021.12.22 |
---|---|
C# List<T> Sort 무명메소드 (0) | 2021.07.21 |
환경변수 확인 방법 (윈10 기준) (0) | 2020.07.04 |
AnkhSVN2019 (0) | 2020.06.05 |
vc_runtimeMinimum 설치 안됨 (1) | 2020.06.04 |