a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

C語言實現將字符串轉換為數字的方法

2020-01-26 15:11:05
字體:
來源:轉載
供稿:網友

本文實例講述了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語言程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 日韩欧美影院 | 日韩一二三区视频 | 日韩欧美综合在线 | 日本精品一区 | 国产视频网 | 亚洲精品国产一区 | 91国偷自产一区二区三区亲奶 | 国产精品美女久久久久久免费 | 超碰最新网址 | 久久久久久免费毛片精品 | 成人特级毛片 | 亚洲国产精品久久久久 | 国产精品美女一区二区三区四区 | 午夜免费电影 | 毛片网在线观看 | 中文字幕精品三区 | 国产在线激情 | 久久久久久久久一区二区 | 91精品国产99久久久久久红楼 | 久久国产欧美日韩精品 | www.se天堂| 久久久亚洲成人 | 精品日韩在线 | 精品国产欧美一区二区三区不卡 | 久久精品成人欧美大片 | 中文字幕一区在线 | 国产成人涩涩涩视频在线观看 | 国产成人影院在线观看 | 中文字幕在线观看第一页 | 久久精品免费视频播放 | 高清久久| 日本妇人成熟免费视频 | 欧美激情综合色综合啪啪五月 | av一区二区在线观看 | 日本精品一区二区三区视频 | 亚洲一区二区av | 久久久久中精品中文字幕19 | 国产美女自拍视频 | 亚洲成人免费在线观看 | 久久精品网 | 日本高清视频一区二区三区 |