c언어에서 소수점 반올림 쉽게 하기(sprint 사용)
비율을 구하려고 함.. double형 변수에 저장하여 소수점 둘째자리까지만 출력하고 싶음
c언어에는 올림 내림만 내장함수로 정의되어있고 반올림에 대한 함수는 직접 작성해야함.
db에서 반올림 할 경우 round 함수를 사용하면 되지만 c 코드에서 반올림하게 될 경우에는 다음과 같은 방법으로 쉽게 반올림 가능.
코드는 깔끔하지않음…
char sTemp[15];
memset ( sTemp, 0x00, sizeof ( sTemp ) ); // 초기화
Db_tmpPrc = Db_tmpPrc / tmplCompTypeAmt* 100; // 계산결과 변수에 저장
sprintf( sTemp, "%.2f", Db_tmpPrc ); // %.2f로 셋째자리에서 반올림
Db_tmpPrc = atof( sTemp ); // 실수로 변환
Sprintf 를 이용하여 문자열로 변환하고 다시 double형으로 변환하면 %.2f때문에 소수점 셋째자리에서 반올림하여 둘째자리까지가 변수에 저장됨.
'C' 카테고리의 다른 글
반복문에서 continue와 break 문 사용 (0) | 2012.08.10 |
---|