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

C說話完成將字符串轉換為數字的辦法

編輯:關於C++

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


本文實例講述了C說話完成將字符串轉換為數字的辦法。分享給年夜家供年夜家參考。詳細完成辦法以下:

C說話供給了幾個尺度庫函數,可以將字符串轉換為隨意率性類型(整型、長整型、浮點型等)的數字。以下是用atoi()函數將字符串轉換為整數的一個例子:
# include <stdio. h>
# include <stdlib. h>
void main (void) ;
void main (void)
{
    int num;
    char * str = "100";
    num = atoi(str);
    printf("The string 'str' is %s and the number 'num' is %d. \n",str, num);
}
 
atoi()函數只要一個參數,即要轉換為數字的字符串。atoi()函數的前往值就是轉換所得的整型值。  

以下函數可以將字符串轉換為數字:
------------------------------------------------------------------------
    函數名    作  用
------------------------------------------------------------------------
 atof()     將字符串轉換為雙精度浮點型值
 atoi()     將字符串轉換為整型值
 atol()     將字符串轉換為長整型值
 strtod()   將字符串轉換為雙精度浮點型值,並申報不克不及被轉換的一切殘剩數字
 strtol()   將字符串轉換為長整值,並申報不克不及被轉換的一切殘剩數字
 strtoul()  將字符串轉換為無符號長整型值,並申報不克不及被轉換的一切殘剩數字
------------------------------------------------------------------------ 
 
將字符串轉換為數字時能夠會招致溢出,假如你應用的是strtoul()如許的函數,你就可以檢討這類溢失足誤。請看下例: 
# include <stdio. h>
# include <stdlib. h>
# include <limits. h>
void main(void);
void main (void)
{
    char* str = "1234567891011121314151617181920" ;
    unsigned long num;
    char * leftover;
    num = strtoul(str, &leftover, 10);
    printf("Original string: %s\n",str);
    printf("Converted number: %1u\n" , num);
    printf("Leftover characters: %s\n" , leftover);
}

在上例中,要轉換的字符串太長,超越了無符號長整型值的取值規模,是以,strtoul()函數將前往ULONG_MAX(4294967295),並使。char leftover指向字符串中招致溢出的那部門字符;同時,strtoul()函數還將全局變量errno賦值為ERANGE,以告訴函數的挪用者產生了溢失足誤。函數strtod()和strtol()處置溢失足誤的方法和函數strtoul()完整雷同,你可以從編譯法式文檔中進一步懂得這三個函數的有關細節。

願望本文所述對年夜家的C說話法式設計有所贊助。

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