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

 
Previous Post C언어/펄(Perl)로, CRC (CRC32) 알고리즘 구현 소스 코드 - Algorith...[Nero/네로] ISO 파일 굽는 법 / CD DVD 이미지 굽기[C언어] 숫자(실수;float)를 문자열로 변환하는 함수 - sprintf()[C언어] 숫자(정수;int, long, unsigned long)를 문자열로 변환하는 함...중문(중국어) 간체/번체 텍스트 종류, 파일 보기 - Chinese Text File Vi...유니코드(UTF-8) 문자에 번호(Code Point) 붙이기 [펄/Perl][Perl] 펄 예제, 펄 기초 강좌 연재, 펄 스크립트 - Perl Examples Tu...윈도우XP] 도스창 실행 / 도스 프롬프트 있는 곳 - Windows DOS Prompt도스(DOS)용, Vi (Vim) 에디터 다운로드 하는 곳은? [QnA]유니코드(Unicode)를 ks_c_5601-1987, euc-kr, 한글 완성형으로 변환...

[C언어] 문자열을 숫자(정수 int long; 실수 double)로 변환하는 함수

Sunday, September 03, 2006

컴퓨터에서는 같은 1234 라고 해도, 문자열로서의 1234 일 수도 있고, 진짜 숫자로서의 1234 일 수도 있습니다.

문자로서의 숫자를, 진짜 숫자로 바꾸어서 연산을 할 수 있게 해주는 함수들입니다.

atoi() : String To int


문자로 된 숫자를, 진짜 숫자의 정수로 변환
#include <stdio.h>
#include <stdlib.h>

int main() {
  int num;
  char *s = "1234.9999";

  num = atoi(s);
  printf("문자 = %s\n숫자(int) = %d\n", s, num);

  return 0;
}


실행 결과:
문자 = 1234.9999
숫자(int) = 1234


만약 문자열에 소수점이 있다면 반올림하지 않고 소수점 이하를 무조건 무시합니다. 에러가 난다면 0을 반환합니다.
그래서 위의 소스가 만약 char *s = "ABCD"; 이렇게 되었다면 "숫자(int) = 0" 으로 출력됩니다.

atoi() 함수는 stdlib.h 에 정의되어 있습니다.



atol() : String To long


int 가 아닌 long형 정수로 변환할 때는 atol()을 사용합니다.
#include <stdio.h>
#include <stdlib.h>

int main() {
  long num;
  char *s = "98765432";

  num = atol(s);
  printf("문자열 = %s\n숫자(long) = %ld\n", s, num);
  return 0;
}


실행 결과:
문자열 = 98765432
숫자(long) = 98765432




atof() : String To double


문자로 된 숫자를, 진짜 숫자의 실수로 변환
#include <stdio.h>
#include <stdlib.h>

int main() {
  double f;
  char *s = "12345.67";

  f = atof(s);
  printf("문자열 = %s\n실수(double) = %0.3f\n", s, f);

  return 0;
}


실행 결과:
문자열 = 12345.67
실수(double) = 12345.670


atof() 함수는 double형 실수를 반환합니다. 그래서 이것을 float형 실수로 받으면
warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
이런 경고가 나오게 됩니다.




▶▶ [C언어] 숫자(정수;int, long, unsigned long)를 문자열로 변환하는 함수 - itoa()

▶▶ [C언어] 숫자(실수;float)를 문자열로 변환하는 함수 - sprintf()



16진수 문자열을 숫자로 변환: ▶▶ C언어] 헥사(HEX; 16진수) 문자열을, 10진수 정수 숫자로 변환 함수; Hex String to Int Number

2진수 문자열을 숫자로 변환: ▶▶ C언어] 2진수 문자열을, 10진수 정수 숫자로 변환 함수; Base-2 String to Int Number

☞ C/C++

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