こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【C++/CLI】int型からString型への変換

C++/CLIにて、int型変数の値

int test1 = -1;
int test2 = -10;

をString型に変換し「-1」「-10」といったような文字列に、
変換しようと思っています。

String::Format( "{0:D1}", test1 );
String::Format( "{0:D2}", test2 );

といった方法で可能なのは分かったのですが、
この方法だと、Formatの引数を値の桁数に応じて変えねばなりません。
※String::Format( "{0:D2}", test1 );
 のようにすると、「-01」となってしまうため。

桁数を意識せずに、int型変数の値をそのまま文字列に変換するような
良い方法があれば、ご教示お願いできませんでしょうか?

投稿日時 - 2009-12-12 23:53:26

QNo.5518077

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

あれー、動作確認してんですけどねぇ...

int main() {
int test1 = -1;
System::Console::WriteLine(test1.ToString());
System::Console::WriteLine((-10).ToString());
return 0;
}

投稿日時 - 2009-12-13 08:57:13

お礼

御回答ありがとうございます。
原因はよく分かりませんが、何か私の環境に問題があるのかもしれません。
とりあえず当初の問題は解決しましたので、
いったん締め切らせていただきます。ありがとうございました。

投稿日時 - 2009-12-13 14:57:58

ANo.1

test1.ToString() ではダメですか?

投稿日時 - 2009-12-13 00:21:53

補足

御回答ありがとうございます。
test1.ToString()
としたところ、下記エラーが出てしまいました。

error C2352: 'System::Int32::ToString' : 静的でないメンバ関数の呼び出しが正しくありません

何か使い方があるのでしょうか?

あと恥ずかしながらFormat()の使い方が間違っていたようです。。
String::Format( "{0:D}", test1 );
String::Format( "{0:D}", test2 );
のように使うことで期待動作をさせることが出来ました。

投稿日時 - 2009-12-13 02:48:58