본문 바로가기

C

c언어에서 소수점 반올림 쉽게 하기(sprint 사용)

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