程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話中一些將字符串轉換為數字的函數小結

C說話中一些將字符串轉換為數字的函數小結

編輯:關於C++

C說話中一些將字符串轉換為數字的函數小結。本站提示廣大學習愛好者:(C說話中一些將字符串轉換為數字的函數小結)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話中一些將字符串轉換為數字的函數小結正文


C說話atoi()函數:將字符串轉換成int(整數)
頭文件:

#include <stdlib.h>

atoi() 函數用來將字符串轉換成整數(int),其原型為:

int atoi (const char * str);

【函數解釋】atoi() 函數會掃描參數 str 字符串,跳過後面的空白字符(例如空格,tab縮進等,可以經由過程 isspace() 函數來檢測),直到趕上數字或正負符號才開端做轉換,而再碰到非數字或字符串停止時('\0')才停止轉換,並將成果前往。

【前往值】前往轉換後的整型數;假如 str 不克不及轉換成 int 或許 str 為空字符串,那末將前往 0。

典范:將字符串a 與字符串b 轉換成數字後相加。

#include <stdio.h>
#include <stdlib.h>
int main ()
{
 int i;
 char buffer[256];
 printf ("Enter a number: ");
 fgets (buffer, 256, stdin);
 i = atoi (buffer);
 printf ("The value entered is %d.", i);
 system("pause");
 return 0;
}

履行成果:

Enter a number: 233cyuyan
The value entered is 233.


C說話atof()函數:將字符串轉換為double(雙精度浮點數)
頭文件:

#include <stdlib.h>

atol() 函數的名字源於“ascii to long”,用來將字符串轉換生長整型數(long),其原型為:

  long atol(const char * str);

【函數解釋】atol() 會掃描參數 str 字符串,跳過後面的空白字符(例如空格,tab縮進等,可以經由過程 isspace() 函數來檢測),直到趕上數字或正負符號才開端做轉換,而再碰到非數字或字符串停止時('\0')才停止轉換,並將成果前往。

【前往值】前往轉換後的長整型數(long);假如 str 不克不及轉換成 long 或許 str 為空字符串,那末將前往 0。

示例:將輸出的字符串轉換成long。

#include <stdio.h>
#include <stdlib.h>
int main ()
{
 long int li;
 char buffer[256];
 printf ("Enter a long number: ");
 fgets(buffer, 256, stdin);
 li = atol(buffer);
 printf ("The value entered is %ld.\n", li);
 system("pause");
 return 0;
}

履行成果:

Enter a long number: 1200cyuyan
The value entered is 1200.


C說話atof()函數:將字符串轉換為double(雙精度浮點數)
頭文件:

#include <stdlib.h>

函數 atof() 用於將字符串轉換為雙精度浮點數(double),其原型為:

double atof (const char* str);

atof() 的名字起源於 ascii to floating point numbers 的縮寫,它會掃描參數str字符串,跳過後面的空白字符(例如空格,tab縮進等,可以經由過程 isspace() 函數來檢測),直到趕上數字或正負符號才開端做轉換,而再碰到非數字或字符串停止時('\0')才停止轉換,並將成果前往。參數str 字符串可包括正負號、小數點或E(e)來表現指數部門,如123. 456 或123e-2。

【前往值】前往轉換後的浮點數;假如字符串 str 不克不及被轉換為 double,那末前往 0.0。

溫馨提醒:ANSI C 標准界說了 stof()、atoi()、atol()、strtod()、strtol()、strtoul() 共6個可以將字符串轉換為數字的函數,年夜家可以比較進修;應用 atof() 與應用 strtod(str, NULL) 成果雷同。別的在 C99 / C++11 標准中又新增了5個函數,分離是 atoll()、strtof()、strtold()、strtoll()、strtoull(),在此不做引見,請年夜家自行進修。

典范:

#include <stdio.h>
#include <stdlib.h>
int main(){
 char *a = "-100.23",
   *b = "200e-2",
   *c = "341",
   *d = "100.34cyuyan",
   *e = "cyuyan";
 printf("a = %.2f\n", atof(a));
 printf("b = %.2f\n", atof(b));
 printf("c = %.2f\n", atof(c));
 printf("d = %.2f\n", atof(d));
 printf("e = %.2f\n", atof(e));
 system("pause");
 return 0;
}

履行成果:

a = -100.23
b = 2.00
c = 341.00
d = 100.34
e = 0.00

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved