プロが教えるわが家の防犯対策術!

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型変数の値をそのまま文字列に変換するような
良い方法があれば、ご教示お願いできませんでしょうか?

A 回答 (2件)

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

この回答への補足

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

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

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

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

補足日時:2009/12/13 02:48
    • good
    • 0

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



int main() {
int test1 = -1;
System::Console::WriteLine(test1.ToString());
System::Console::WriteLine((-10).ToString());
return 0;
}
    • good
    • 2
この回答へのお礼

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

お礼日時:2009/12/13 14:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています