컴퓨터 엑셀 워드 포토숍 구글어스 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