- ベストアンサー
VC++で文字列を数値に変換する方法
VC++にて、button1をクリックしたら、textBox1に入力された数字の文字列(10進数)を数値に変換して、x等の変数に16進数で格納したく。 下の { } の部分にどのように書けばいいのでしょうか? 初心者につき、できるだけ噛み砕いて、説明を加えて、回答お願いします。 また、textBox1に数字以外が入力されたら、エラー検出が可能であれば、その方法も教えて下さい。 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { int input; if ( Int32::TryParse(textBox1->Text, input) ) { label1->Text = String::Format(L"あなたは {0} を入力しました", input); } else { label1->Text = L"intに変換できませんね..."; } } > 初心者につき、できるだけ噛み砕いて、説明を加えて、回答お願いします。 どこまで砕いていいかわからんので無理。 わからんとこあったら訊けばいいやないの。
その他の回答 (1)
- uyama33
- ベストアンサー率30% (137/450)
textBox1に入力された数字の文字列 これは、整数でかなり大きなものになりますか? この、文字は何個くらい並ぶのですか? 数字の個数によってプログラムがだいぶ異なります。 それから、数字は全角で入りますか、それとも半角ですか?
補足
回答ありがとうございます。 textBoxt1の文字数は5文字(5桁)です。数字は半角だけと考えています。全角の場合だと 処理は大きくことなるのでしょうか? webでしらべると、strtol等を使用するとかあるのですが、記述の仕方が不明で、実際に入力すると ビルド エラーばかりで解決しません。 よって、できるだけ、具体的に記述していただければ幸いです。 以上、よろしくお願いします。
お礼
返信遅れて申し訳ありません。 回答ありがとうございます。動作確認もできました。 内容については、今後も勉強して理解できるようにしていきたいと思います。