c convert string int using parse
C#で文字列をIntに変換する方法に関するチュートリアル。要件に基づいて、解析、TryParse、変換などの複数の変換方法を学習します。
私たちのほとんどは、文字列を整数データ型に変換する必要があるときに、このような状況に陥ることがあります。
例えば、 データソース(データベース、ユーザー入力など)から文字列「99」を受け取ったとしますが、計算を実行するには整数として必要です。ここでは、開始する前にまず整数に変換する必要があります。いくつかの算術演算。
これを行うにはいくつかの方法があり、広く使用されている方法のいくつかを見てみましょう。
=> ここで完全なC#トレーニングシリーズをチェックしてください
学習内容:
Int.Parseメソッド
Int.Parseメソッドは、変換でエラーが発生しないことが確実かどうかという疑問のように機能します。これは、文字列を整数に変換する最も簡単で簡単な方法の1つです。変換が成功しない場合、エラーがスローされることがあります。
このメソッドは主に、文字列形式の整数がある場合に使用されます。 例えば、 「99」のようなユーザー入力から文字列数字を受け取ります。この文字列を整数に変換する簡単なプログラムを試してみましょう。
プログラム
パブリッククラスプログラム
{ public static void Main() { String str = '99'; int number = int.Parse(str); Console.WriteLine(number); } }
出力
上記のプログラムの出力:
99
説明
プログラムは文字列の数値を返します。
int.Parseメソッドを使用する際の注意点は、文字列が正しい形式でない場合、つまり文字列に数字以外の文字が含まれている場合にエラーをスローするという問題です。
数字以外の文字が存在する場合、このメソッドは次のエラーをスローします。
“(System.FormatException: Input string was not in a correct format.)”
System.Convertメソッド
文字列を整数に変換する別の方法は、Convertメソッドを使用することです。この方法は、プログラムが誤ったデータと相互作用するために発生する可能性のある例外を処理する準備ができている必要があるため、前の方法ほど単純ではありません。
例外は大量のメモリを消費する可能性もあるため、実行フロー中に必要な例外や不要な例外が発生することはお勧めできません。 例えば、 ループで例外が発生した場合、それらをスローする際に大量のメモリが消費されるため、プログラムの速度が低下します。
解析が失敗した理由を知りたい場合は、Convertメソッドを使用すると非常に役立ちます。例外をキャッチし、障害の詳細を表示できます。
プログラム
public class Program { public static String intString = '123'; public static void Main(string() args) { int i = 0; try { i = System.Convert.ToInt32(intString); } catch (Exception e) { } Console.WriteLine('The converted int is : '+i); } }
出力
「変換されたintは:123です」
説明
上記のプログラムでは、convertメソッドを使用して文字列を整数に変換しました。ここで、String変数が数値の場合、整数に変換されますが、文字列に誤りがある場合は、catchブロックによって処理される例外がスローされます。
int.TryParseメソッド
文字列表現を32ビット整数に解析する最も一般的な方法の1つは、TryParseメソッドを使用することです。このメソッドは、文字列の前後に空白を考慮しませんが、変換を容易にするために、他のすべての文字列文字は適切な数値型である必要があります。
例えば、 変数内の空白、アルファベット、または特殊文字はエラーを引き起こす可能性があります。
TryParseメソッドは2つのパラメーターを受け入れます。最初のパラメーターはユーザーが変換する文字列で、2番目のパラメーターはキーワード「out」の後に値を格納する変数が続きます。変換の成功または失敗に基づいて値を返します。
TryParse(String, out var)
数値文字列を整数に変換する簡単なプログラムを見てみましょう。
プログラム
class Program { static void Main(string() args) { try { string value = '999'; int numeric; bool isTrue = int.TryParse(value, out numeric); if (isTrue) { Console.WriteLine('The Integer value is ' + numeric); } } catch (FormatException e) { Console.WriteLine(e.Message); } } }
出力
整数値は999です
説明
上記のプログラムでは、「TryParse」を使用して数値文字列を整数に変換しました。まず、変換する必要のある文字列変数を定義しました。次に、整数型の別の変数「数値」を初期化しました。次に、ブール変数を使用して、tryparseの戻り値を格納しました。
trueが返された場合は、文字列が整数に正常に変換されたことを意味します。 falseが返される場合は、入力文字列に問題があります。発生する可能性のある例外を処理するために、プログラムスニペット全体をtry-catchブロック内に囲みました。
非数値文字列を整数に変換する
上記のすべてのプログラムで、数値の文字列値を整数に変換しようとしましたが、実際のシナリオでは、ほとんどの場合、特殊文字、アルファベット、および数字を含む文字列を処理する必要があります。数値のみを取得したい場合は、少し難しいかもしれません。
例えば、 値が$ 100の価格文字列があり、整数で価格を取得する必要があります。この場合、上記のアプローチのいずれかを使用しようとすると、例外が発生します。
これらのタイプのシナリオは、文字列を文字の配列に分割した後、forループと正規表現を使用することで簡単に処理できます。
プログラムを見てみましょう:
class Program { static void Main(string() args) { string price = '0'; string priceNumeric = ''; for(inti =0; i 出力
価格の数値は:100です
説明:
上記のコードには、文字列データ型の価格変数があります。次に、別の文字列変数priceNumericを定義して初期化します。アイデアは、価格変数の数値部分を保持するためにそれを使用することです。
次に、forループを使用して、文字列内のすべての文字の数字をチェックしました。これを行うために、最初にインデックスを使用して変数chの文字をフェッチしました。次に、正規表現を使用して、文字列から選択した文字が任意の数字と一致するかどうかを確認しました。 (正規表現の「 d」式は、1桁の数字との一致を示します。)
DVDをハードドライブにコピーするための最高のソフトウェア
次に、数値文字列を連結して、priceNumeric変数に格納します。ループが終了すると、すべての数値文字列がこの変数に追加され、特殊文字、アルファベットなどを含む他のすべての文字が削除されます。
ご存知のとおり、この文字列には数字のみが含まれているため、変換を直接使用してこの文字列を整数に変換できます。
結論
このチュートリアルでは、文字列を整数に変換する方法を学びました。また、要件に基づいて変換に使用できるさまざまな方法を使用することも学びました。
推奨読書= >> Javaで文字列を整数に変換する方法 そして Javaで整数を文字列に変換する方法
次に、非整数部分を削除して、特殊文字またはアルファベットの文字列を整数に変換するプログラムについて説明しました。このサンプルプログラムは、ユーザーの要件に応じて微調整でき、任意の文字列から数値データを取得するために使用できます。
推奨読書