반응형
변수를 int 대 round() 함수에 사용
나는 그것을 여러 곳에서 보았습니다.(int)someValue
부정확했고 대신 문제가 발생했습니다.round()
기능.둘 사이의 차이점은 무엇입니까?
특히, 필요한 경우 C99 C에 대해.나는 또한 자바로 프로그램을 작성할 때 같은 문제를 본 적이 있습니다.
캐스팅하는 경우float
/double
에 가치를 두는.int
일반적으로 정수 절단으로 인해 부분적인 부분이 느슨해집니다.
이는 일반적으로 예상되는 반올림과 상당히 다르므로 예를 들어 2.1이 2인 것처럼 2.8은 정수 자르기를 통해 2로 끝납니다.
업데이트:
주조 시 잠재적(총) 부정확성의 또 다른 원인은 부동 소수점 유형과 반대로 정수로 표현할 수 있는 값의 제한된 범위 때문입니다(아래 설명에서 @R이 이를 상기시켜 준 덕분입니다).
- 캐스팅 대상
int
부동 소수점 번호를 잘라냅니다. 즉, 분수 부분을 삭제합니다. - 그
round
함수는 가장 가까운 정수를 반환합니다.예를 들어, 사건의 절반은 0에서 반올림됩니다.round(-1.5)
이라-2
그리고.round(1.5)
이라2
.
7.12.9.6 라운드 기능
시놉시스
#include <math.h> double round(double x); float roundf(float x); long double roundl(long double x);
묘사
그
round
함수는 인수를 부동 소수점 형식의 가장 가까운 정수 값으로 반올림하고, 현재 반올림 방향에 관계없이 0에서 반올림합니다.돌아온다
그
round
함수는 반올림된 정수 값을 반환합니다.
출처: C99 표준 (ISO/IEC 9899:1999).이 섹션은 C11 표준(ISO/IEC 9899:2011)에서 변경되지 않았습니다.
(관심 있는 사람들을 위해, 반올림 알고리즘에 대한 명확한 소개가 있습니다.)
언급URL : https://stackoverflow.com/questions/11128741/cast-variable-to-int-vs-round-function
반응형
'programing' 카테고리의 다른 글
SpringBoot - HTTP 요청 헤더 구문 분석 오류 (0) | 2023.07.22 |
---|---|
스프링 컨트롤러와 끝점의 차이 (0) | 2023.07.22 |
변경된 값에 대해서만 트리거 (0) | 2023.07.22 |
SQL 알고리즘 정렬기 (0) | 2023.07.22 |
단순한 파이썬 웹 서비스를 만드는 가장 좋은 방법 (0) | 2023.07.22 |