ホームページ  >  記事  >  バックエンド開発  >  C++で文字列を数値に変換する方法

C++で文字列を数値に変換する方法

藏色散人
藏色散人オリジナル
2020-02-07 10:58:3712188ブラウズ

C++で文字列を数値に変換する方法

#c 文字列を数値に変換するにはどうすればよいですか?

#文字列を数値に変換する C ライブラリ関数

1.atoi

関数: 文字列を整数に変換します

使用法:

int atoi(const char *nptr);

詳細説明: atoi は英語の array to integer の略です。 atoi() はパラメータ nptr 文字列をスキャンし、最初の文字が数字または記号でない場合は 0 を返します。それ以外の場合は型変換を開始し、数字以外または終端文字 /0 を検出すると変換を停止します。そして整数を返します。パラメータ:

*nptr: 変換する文字列。

戻り値:

int: 変換された整数値。

2. atol

関数: 文字列を長整数に変換します

使用法:

long atol(const char *nptr) ;

詳細な説明: atol() はパラメーター nptr 文字列をスキャンし、先行するスペース文字をスキップし、数値または正負の記号に遭遇するまで変換を開始しません。その後、数値以外の記号または負の記号に遭遇するまで変換を開始しません。文字列が終了 ('/0') すると変換は終了し、結果が返されます。

パラメータ:

*nptr: 変換される文字列。

戻り値:

Long: 変換された長整数。

3. atof

関数: 文字列を倍精度浮動小数点数に変換します

使用法:

double atof(const char * nptr);

詳細な説明: atof() はパラメーター nptr 文字列をスキャンし、先行するスペース文字をスキップし、数字または正負の記号が検出されるまで変換を開始しません。 non- 数値または文字列が終了 ('/0') すると変換は終了し、結果が返されます。パラメーター nptr 文字列には、プラスまたはマイナス記号、小数点、または 123.456 や 123e-2 などの指数部を表す E(e) を含めることができます。

パラメータ:

*nptr: 変換される文字列。

戻り値:

double: 変換された倍精度浮動小数点数。

4. strtod

関数: 文字列を倍精度浮動小数点値に変換し、変換できない残りの桁をすべてレポートします。 :

double strtod(const char *nptr,char **endptr);

詳細な説明: strtod() はパラメータ nptr 文字列をスキャンし、変換が検出されるまで先行するスペース文字をスキップします。数値または正または負の符号が出現すると変換が開始され、数値以外または文字列の末尾 ('/0') が出現すると変換が終了し、結果が返されます。 endptr が NULL でない場合、非修飾条件が発生したときに終了する nptr 内の文字ポインターが endptr から返されます。パラメーター nptr 文字列には、指数部を表すプラスまたはマイナス記号、小数点、または E(e) を含めることができます。 123.456 や 123e-2 など。

パラメータ:

*nptr: 変換される文字列。

**endptr: endptr が NULL でない場合、修飾されていない条件が発生したときに終了する nptr 内の文字ポインターが endptr から返されます。

戻り値:

double: 変換された倍精度浮動小数点数。

5. strtol

関数: 文字列を長い値に変換し、変換できない残りの桁をすべて報告します

使用法:

long int strtol(const char *nptr,char **endptr,int Base);

詳細説明: この関数は、パラメーターの基数に従って、パラメーター nptr 文字列を長整数に変換します。基本パラメータの範囲は 2 ~ 36、または 0 です。パラメータbaseは使用する基数を表し、基数が10の場合は10進数、基数が16の場合は16進数などを表します。基本値が 0 の場合は 10 進数で変換されますが、先頭に「0x」などの文字があった場合は 16 進数で変換され、先頭に「0x」ではなく「0」の文字があった場合は変換されます。 . 変換には 8 進数を使用します。最初に、strtol() はパラメータ nptr 文字列をスキャンし、先行するスペース文字をスキップし、数値または正負の記号に遭遇するまで変換を開始しません。数値以外の文字列または文字列の終わりに遭遇すると変換を終了します。文字列 ('/0') を返し、結果を返します。パラメータ endptr が NULL でない場合、修飾されていない条件により終了する nptr 内の文字ポインタが endptr によって返されます。

パラメータ:

*nptr: 変換される文字列。

**endptr: endptr が NULL でない場合、修飾されていない条件が発生したときに終了する nptr 内の文字ポインターが endptr から返されます。

Base: 使用される基本システム

戻り値:

long int: 変換された長整数。

6. strtoul

関数: 文字列を unsigned long 値に変換し、変換できない残りの数値をすべてレポートします。

使用法:

unsigned long int strtoul(const char *nptr,char **endptr,int Base);

詳細な説明: strtoul() は、パラメーターのベースに従って、パラメーター nptr 文字列を符号なし長整数に変換します。基本パラメータの範囲は 2 ~ 36、または 0 です。パラメータbaseは使用する基数を表し、基数が10の場合は10進数、基数が16の場合は16進数などを表します。基本値が 0 の場合は 10 進数が変換に使用されますが、「0x」などの先頭文字が出現した場合は 16 進数が変換に使用されます。最初に、strtoul() はパラメータ nptr 文字列をスキャンし、先行するスペース文字列をスキップし、数値または正または負の符号に遭遇するまで変換を開始しません。その後、数字以外の文字列に遭遇すると変換を終了します。または文字列の末尾 ('') を検索し、結果を返します。パラメータ endptr が NULL でない場合、修飾されていない条件が発生したときに終了する nptr 内の文字ポインタが endptr によって返されます。

パラメータ:

*nptr: 変換される文字列。

**endptr: endptr が NULL でない場合、修飾されていない条件が発生したときに終了する nptr 内の文字ポインターが endptr から返されます。

Base: 使用される基本システム

戻り値:

unsigned long int: 変換された符号なし長整数。

以上がC++で文字列を数値に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。