안녕하세요,
말 그대로 주어진 소수 몇째 자리에서 반올림 해주는 그런 함수 없나요? 예를 들면 1.2345 를 셋째 자리에서 반올림해서 1.23 뭐 이렇게 만들어 주는 함수요..
그냥 반올림/반내림해서 정수로 만드는 건 쉽게 보이는데, 이런 함수는 원래 있는지 모르겠네요.
조언 부탁드립니다. :)
#include <math.h>
double d = 1.2345; double result = ceil((d * 100.) - .5) / 100.;
// 어느 플랫폼에선가 ceil/floor 대신 roundup/rounddown 함수를 사용했던 기억이... 가물가물하네요...
담배 고만 펴야겠다...
사족: ceil... 음수일 경우에 문제가 있는 구현이 있으므로 꼭 확인하시구요. 만약 문제 있는 구현이라면 음수는 floor로 다르게 처리하는 것하고 *100 할 때의 지수 넘침을 조심하셔야 합니다.
#include <math.h>double d = 1.
#include <math.h>
double d = 1.2345;
double result = ceil((d * 100.) - .5) / 100.;
// 어느 플랫폼에선가 ceil/floor 대신 roundup/rounddown 함수를 사용했던 기억이... 가물가물하네요...
담배 고만 펴야겠다...
사족: ceil... 음수일 경우에 문제가 있는 구현이 있으므로 꼭 확인
사족: ceil... 음수일 경우에 문제가 있는 구현이 있으므로 꼭 확인하시구요. 만약 문제 있는 구현이라면 음수는 floor로 다르게 처리하는 것하고 *100 할 때의 지수 넘침을 조심하셔야 합니다.