【C言語入門】atoiの使い方(文字列から数値への変換)

atoiって使ってますか?atoiは整数値の文字列型データをint型に変換する関数です。

たとえばテキストファイルから内容を読み込む際は、数値データも通常は文字列として読み込まれるので、その後の計算処理などに使用する場合は文字列型の整数値からint型に変換する必要があります。

数値の文字列型データを数値データに変換する関数は他にもatolatofがあります。atolは数値の文字列型データをlong型に変換し、atofはfloat型に変換します。

この記事では、文字列を数値に変換する方法について

  • atoiで文字列をint型の数値に変換する方法
  • という基本的でよく使われる内容から、

  • atolで文字列をlong型の数値に変換する方法
  • atofで文字列をfloat型の数値に変換する方法
  • などそれぞれの型への変換についても解説していきます。

    今回は文字列を数値に変換する方法について、使い方をわかりやすく解説します!

    atoiで文字列をint型の数値に変換する方法

    atoiは整数値の文字列型データをint型の数値データに変換するときに使う関数です。

    atoiを使う場合はヘッダーファイル「stdlib.h」をインクルードする必要があります。atoi関数の第1引数に整数値の文字列型データの変数名を入力し、int型の数値データが返ってきます。

    それではサンプルコードで確認していきましょう。

    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void) {
        char str[8] = "12345";
        int num;
        
        // 文字列型からint型への変換
        num = atoi(str);
        printf("int型変数numの値は: %d\n", num);
        
        return 0;
    }

    実行結果:

    int型変数numの値は: 12345

    このサンプルコードでは、文字列型変数「str」をint型変数「num」に変換して出力表示しています。

    atolで文字列をlong型の数値に変換する方法

    atolは整数値の文字列型データをlong型の数値データに変換するときに使う関数です。

    atolを使う場合もヘッダーファイル「stdlib.h」をインクルードする必要があります。atol関数の第1引数に整数値の文字列型データの変数名を入力し、long型の数値データが返ってきます。

    それではサンプルコードで確認していきましょう。

    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void) {
        char str[8] = "12345";
        long num;
        
        // 文字列型からlong型への変換
        num = atol(str);
        printf("long型変数numの値は: %ld\n", num);
        
        return 0;
    }

    実行結果:

    long型変数numの値は: 12345

    このサンプルコードでは、文字列型変数「str」をlong型変数「num」に変換して出力表示しています。

    atofで文字列をfloat型の数値に変換する方法

    atofは数値の文字列型データをfloat型の数値データに変換するときに使う関数です。

    atofを使う場合もヘッダーファイル「stdlib.h」をインクルードする必要があります。atof関数の第1引数に整数値の文字列型データの変数名を入力し、float型の数値データが返ってきます。

    それではサンプルコードで確認していきましょう。

    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void) {
        char str[8] = "12.345";
        float flt;
        
        // 文字列型からfloat型への変換
        flt = atof(str);
        printf("float型変数fltの値は: %f\n", flt);
        
        return 0;
    }

    実行結果:

    float型変数fltの値は: 12.345000

    このサンプルコードでは、文字列型変数「str」をfloat型変数「flt」に変換して出力表示しています。

    文字列の使い方総まとめ

    この記事では紹介しきれなかった文字列のいろいろな使い方を次の記事にまとめているので、ぜひ確認してください!

    【C言語入門】文字列とは?文字列の使い方総まとめ
    更新日 : 2020年6月29日

    まとめ

    ここでは、文字列を数値に変換する方法について説明しました。

    atoiatolatof変換後の数値データの型が異なります

    それぞれの関数を使いこなすことができるように、この記事を何度も参考にして下さいね!

    LINEで送る
    Pocket

    「プログラミング、右も左もわからない…」という方にオススメ

    当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

    その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

    侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

    cta_under_bnr

    「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

    書いた人

    長野 透

    長野 透

    熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
    お問合せはこちらでも受け付けています。
    [email protected]