1. 程式人生 > >c語言 字串轉換為int或float

c語言 字串轉換為int或float

       在c語言程式設計中,經常會遇到將字串或者字元陣列內的資料轉換為int型資料或者float型資料,網上找了好多方法,結果都不可行,可能是C++的函式吧。在經過多方詢問後,發現可以用atoi和atof函式來進行轉換,具體如下:(它們都存在於<stdlib.h>中)

       atoi:

       atoi 是把字串轉換成int型的一個c語言函式,很方便的進行使用。

       其函式引數是一個字串,如果第一個非空格字元存在,是數字或者正負號則開始做型別轉換,之後檢測到非數字(包括結束符 \0) 字元時停止轉換,返回整型數。否則,返回零。

       例程:

#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
    int n;
    char* str = "23.5";
    n = atoi(str);
    printf("string=%s,n=%d\n",str,n);
    return0;
}

       atof:

atof是把字串轉換成float型的一個c語言函式,可以很方便的進行轉換。

       其函式引數是一個字串。atof()會掃描引數字元串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時('\0')才結束轉換,並將結果返回。引數nptr字串可包含正負號、小數點或E(e)來表示指數部分,如123.456或123e-2。返回值是轉換後的浮點型數。

       例程:

#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
    float f;
    char* str = "23.5";
    f = atof(str);
    printf("string=%s,f=%f\n",str,f);
    return0;
}

參考具體使用用法:

atoi:http://baike.baidu.com/link?url=5NtPSd87w0FmglMzOz5_LfEqiPVzLUK9cBlAoI4audhuKZzY_RK9261M6T5vB_ipvu4B5m1YJZLjr17fbcPM3K

atof:http://baike.baidu.com/link?url=MWN9ksPFdF-mQNZ4zOQF8NifC0DcW6j5tON40_gd13w_J_-c8fdwtR7xRQCwM4Yxxkc9WSeF8C9MYuRxlA2b0a

祝各位成功大笑