컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post 자바스크립트] 실수 소수점 이하 버리기, 정수로 만드는 함수; JavaScript floa...Perl/펄] 현재 디렉토리 명 구하기; 디렉터리 위치; Cwd, pwd, Current ...Perl/펄] COMMAND, CMD 실행; 도스 셀(DOS Shell) 호출 예제grep ] 백 슬래쉬(\) 문자, Back Slash 섞인 문자열 찾기; 리눅스/유닉스도쿄 디즈니랜드, 위성 사진 구글어스; Tokyo Disneyland Google Eart...구글 지구본 프로그램, 구글 위성사진 화면, 다운로드 주소; Google Earth Ter...HTML-CSS] 탭 문자(TAB) 표현, 공백(스페이스;Space) 넣기; PRE 태그비베(VB, VBA, VBS)에서 엔터키(Enter Key) 표현; 줄바꿈 문자 넣기file 명령; 파일 명령 용도 사용법 예제; UNIX, LINUX 명령어워드(MS-WORD)문서, 한글(HWP)파일 합치기, 수동으로 병합; DOC Merge

C언어] 소수점 이하 버리기, 실수를 정수로; float to int

Saturday, December 02, 2006

C에서, 반올림하지 않고 그냥 소수점 이하를 버리기 위해서는
(int)
이렇게 캐스팅하여, 실수를 정수로 바꾸어 주면 됩니다.


소수점 이하 삭제 예제


소스 파일명: 0.cpp
#include <stdio.h>

int main(void) {

  float f;

  f = 123.99999f;
  printf("%d\n", (int) f);
  // 출력 결과(반올림 없음): 123


  f = 123.999999f; // 9가 한 개 더 붙으면
  printf("%d\n", (int) f);
  // 출력 결과(반올림 됨): 124



  double d;

  d = 4543.999999999999;
  printf("%d\n", (int) d);
  // 출력 결과(반올림 없음): 4543


  d = 4543.9999999999999; // 9가 한 개 더 붙으면
  printf("%d\n", (int) d);
  // 출력 결과(반올림 됨): 4544


  return 0;
}


위의 예제에서, 소수점 이하에 9 가 많이 붙으면 "반올림"되는 현상이 나타나는데, 이것은 엄밀한 의미에서의 반올림은 아니고, 부동소수점 표현의 문제일 것입니다.

진짜 반올림 방법은 여기에 있습니다: ▶▶ [C언어 기초] 반올림 함수 - Round To Int - roundToInt()



▶▶ C언어] 실수, 정수부/소수부 구하기, 소수점 이하만 추출; Get FRACTIONAL PART Only

☞ C/C++ (VC++)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top