출력만 하는 경우
형식 지정자 %.2f 를 사용 ( 몇번째 자리에서 반올림 하냐에 따라 숫자 변경
int main(void) {
float myfloat = 37.777779;
printf("%.2f", myfloat);
}
출력: 37.78
연산을 하는 경우
1) 내림/반올림/올림에 따라 각 각 <math.h>의 floor() / ceil() / floor() 함수 사용
#include <math.h>
float val = 37.777779;
float rounded_down = floor(val); /* 내림: 37 */
float nearest = floor(val + 0.5); /* 반올림: 38 */
float rounded_up = ceil(val); /* 올림: 38 */
반올림의 경우 내림 함수인 floor()에서 +0.5를 해주면 됨
2) 반올림 round() 함수 사용
#include <math.h>
float val = 37.777779;
float rounded_down = round(val); /* 반올림: 38 */
round() 함수의 경우 C++11부터 지원
3) 버림 trunc() 함수 사용
#include <math.h>
float val = 37.777779;
float trunc_function = trunc(val); /* 버림: 37 */
소수점 아래의 값은 버리는것
내림 함수와는 다름!
참고
https://blockdmask.tistory.com/112
728x90
반응형
'C++' 카테고리의 다른 글
[C++] 이러한 피연산자와 일치하는 ">>" 연산자가 없습니다. (0) | 2019.10.21 |
---|---|
[C++] 범위기반 for문(ranged-based for statement) (0) | 2019.10.14 |
[C++] switch-case 문 (0) | 2019.09.21 |
[C++] new/delete 이용한 2차원 배열 동적할당 (0) | 2019.09.15 |