静的型付けは C で使用されます。プログラムを作成するには、変数を特定の型として定義する必要があります。場合によっては、コンソールまたはファイルからの入力を読み取る必要があります。この場合、プログラムには文字列データが与えられます。他のデータ型に変換するには、特別な操作が必要です。この記事では、文字列を浮動小数点整数に変換する C メソッドを紹介します。これを実現するには、いくつかの異なる方法を使用できます。それぞれを個別に調べてください。
C での文字列ストリームの使用
ストリームは C の優れたツールです。ファイル ストリーム、標準入出力ストリームなどがこれらのストリームの例です。 stringstream は別のストリームです。他のストリームと同様に、文字列を入力として受け入れることによって動作します。 stringstream を使用するには、sstream ヘッダー ファイルをインポートする必要があります。ストリーム データは、挿入演算子 (>>) または抽出演算子 (
###文法###
リーリー
ストリームを使用して特定のタイプの入力を読み取る場合、構文は次のとおりです -
###文法###
リーリー
アルゴリズム
アルゴリズムが全体的にどのように機能するかを理解するためにアルゴリズムを見てみましょう。
文字列オブジェクト x を入力として取得します
ss という名前の stringstream オブジェクトを作成し、そのオブジェクトに x を渡します
浮動小数点変数 xFloat を作成する
- ss
の挿入演算子を使用して、浮動小数点数を xFloat に格納します。
-
###例###
リーリー
###出力###
リーリー
この例から、数値が文字列オブジェクトから取得されることは明らかです。これは実際の浮動小数点データなので、浮動小数点表記でそれに 6.5 を加算して表示できます。 -
C での sscanf() の使用
同様のアプローチ (C でも機能します) は、sscanf() 関数を使用することです。この関数は、標準の scanf() 関数と同様に、入力として文字配列とフォーマット文字列を受け入れます。ここで、要求された値を文字列から読み取り、変数のアドレスが指す変数にそれを追加します。 sscanf() 関数の構文を参照してください。
###文法###
リーリー
アルゴリズム
アルゴリズムが全体的にどのように機能するかを理解するためにアルゴリズムを見てみましょう。
文字列 x を C 文字配列形式の入力として取得します
パラメータ x、フォーマット文字列、および変数アドレスを指定して sscanf() 関数を使用します。
変数値は、sscanf() 関数から直接保存されます。
###例###
リーリー
###出力###
リーリー
アプリケーションは以前とまったく同じように実行されますが、注意しなければならないことがいくつかあります。 sscanf() メソッドは、C のような文字列オブジェクトをサポートしません。 C に似た文字配列を受け取ります。これを実現するには、c_str() メソッドを使用して、指定された文字列引数を C のような文字配列に変換します。
C での stof() の使用
- 「文字列」ヘッダー ファイルから stof() メソッドを使用することも、文字列を整数に変換する迅速かつ簡単な方法です。この関数は、文字列オブジェクトを入力として受け取った後、対応する浮動小数点数に変換します。
###文法###
リーリー
###アルゴリズム###
-
文字列オブジェクト x を入力として取得します-
xFloat = stoi( x )
指定された文字列 x から xFloat を float 変数として返します。
###例###
リーリー
###出力###
リーリー
C での atof() の使用
atof() は C 言語でも使用できますが、stof と同等です。文字列は文字配列形式を使用して送信できます。 cstdlib ライブラリをインポートすることで取得できます。それ以外の場合は、実質的な違いはありません。構文を確認してみましょう。
###文法###
リーリー
###アルゴリズム###
文字列オブジェクト x を C 言語の文字配列形式で入力として受け取ります。
xFloat = atoi( x )
指定された文字列 x から xFloat を浮動小数点変数として返します。
###例###
リーリー
###出力###
リーリー
###結論は###
- 文字列を浮動小数点数に変換するには、複数の方法があります。最初の 2 つのメソッド (stringstream と sscanf() を使用) は、他には何も変更せずに文字列を任意のデータ型に変換する一般的な方法です。変更されるのは最終変数の型だけです。 stof() および atof() これらの関数は、文字列を浮動小数点数に変換するためにのみ使用されます。異なるデータ型に変換する他の関数は同等です。 sscanf と atof() は C ベースの関数であるため、文字列オブジェクトを受け入れません。これらを使用する前に、c_str() 関数を使用して文字列を文字配列に変換する必要があります。
以上が以下を中国語に翻訳します: 文字列を浮動小数点数に変換する C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。