金額をフォーマットするには?


ひで  2005-01-18 02:47:43  No: 56040  IP: [192.*.*.*]

お世話になります。
環境
OS:XP
VC++.NET 2003
フォームアプリケーション.NET

.NET Frameworkにある関数でS"123456789"を"123,456,789"のようにフォーマットしたいのですが、どのようにしたら実現できますでしょうか。

お願いします。

編集    削除
YuO  2005-01-18 03:10:16  No: 56041  IP: [192.*.*.*]

書式指定文字列#,##0を使えばよいのでは?

とりあえず,C#で
Console.WriteLine("{0:#,##0}", 123456789);
とやると
123,456,789
と出力されました。

編集    削除
ひで  2005-01-18 05:25:10  No: 56042  IP: [192.*.*.*]

お返事ありがとうございます。

label1->Text = String::Format( "{0:#,##0}", S"123456789" );
のようにしましたが、うまくいきませんでした。

System::Diagnostics::Debug::WriteLine("{0:#,##0}", S"123456789" );
でデバッグ出力してみましたが、フォーマットされていませんでした。

なにか他に方法はないでしょうか。

編集    削除
YuO  2005-01-18 06:13:00  No: 56043  IP: [192.*.*.*]

文字列をフォーマットしたいんですね。
Convert::ToInt32でSystem::Int32型に変換してあげてください。

編集    削除
ひで  2005-01-19 18:31:52  No: 56044  IP: [192.*.*.*]

System::Diagnostics::Debug::WriteLine("{0:#,##0}", S"123456789" );
のS"123456789"を123456789(int型)に変えてみたのですが、2番目の引数がintから要求の型に変換できませんでした。

おっしゃられていることは文字列をint型に変換するということだと思ったのですが、違うのでしょうか。

編集    削除
YuO  2005-01-19 19:33:11  No: 56045  IP: [192.*.*.*]

ヘルプはちゃんと読みましたか?
Debug::WriteLineにStringとInt32をとることができるメソッドは存在しません。
そもそも,Debug::WriteLineは書式化をサポートしていません。

たずねる前に手元のリソースはちゃんと確認しましょう。

編集    削除