none
テキストボックスの数字 RRS feed

  • 質問

  • 初歩的な質問ですが、テキストボックスに計算値が出るようプログラムしましたが、3けたのコンマのついた数字にするには、どうすればいいのか教えてください。私は全くの初心者なので宜しくお願いします。
    2011年9月13日 9:02

回答

  • 外池と申します。

    最初に、お手元のプログラムの内容ですが、拝察するに、
    TextBox1.Text = Result.ToString()
    というような感じで書いておられると思います。ここで、Resultは、計算結果が入っている数値型の変数とします。
    (もし、違う書き方なら、再度ご質問ください。)

    これを少し、変形して、
    TextBox1.Text = Result.ToString( ここに、書式を指定する文字列を入れる )
    としますと、いろいろ、お望みの書式で、テキストボックスに表示できます。

    例えば、
    TextBox1.Text = Result.ToString("C") とか、
    TextBox1.Text = Result.ToString("P") とか。
    特定の文字をひとつ書き込むと、貨幣単位をつけたり、パーセント表示にしたりできます。三桁ずつの区切りもできます。

    詳しくは、
    http://msdn.microsoft.com/ja-jp/library/dwhawy9k(v=VS.100).aspx
    をご覧下さい。使う文字と書式の説明の一覧があります。

    ゼロ詰めするとか、マイナス符号のつけ方とか、イロイロ細かく指定することもできますが、
    http://msdn.microsoft.com/ja-jp/library/0c899ak8.aspx
    に説明があります。こちらは、「一桁ずつ書式を設定する」という感じです。

    参考になれば幸いです。


    (ホームページを再開しました)
    • 回答の候補に設定 山本春海 2011年9月27日 6:59
    • 回答としてマーク 山本春海 2011年9月29日 6:26
    2011年9月13日 12:11
  • 蛇足かもしれませんが、外池さんの補足になります。

    計算結果が表示されているテキストボックスの値を手入力で入力し直すということがあるのでしょうか? であれば、その入力した値も随時3桁カンマ区切りで表示するには、以下のような工夫をする必要があります。

    テキストボックス入力数字を三桁カンマ入りで随時表示していく
    http://www110.kir.jp/csharp/chip0185.html

    もし、そのテキストボックスの値を上記のように修正しないのであれば、 テキストボックスのReadOnlyプロパティをtrueにしたり、テキストボックスの代わりにLabelコントロールを使うなどした方が良いでしょう。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答の候補に設定 山本春海 2011年9月27日 6:59
    • 回答としてマーク 山本春海 2011年9月29日 6:26
    2011年9月13日 14:00
    モデレータ

すべての返信

  • 外池と申します。

    最初に、お手元のプログラムの内容ですが、拝察するに、
    TextBox1.Text = Result.ToString()
    というような感じで書いておられると思います。ここで、Resultは、計算結果が入っている数値型の変数とします。
    (もし、違う書き方なら、再度ご質問ください。)

    これを少し、変形して、
    TextBox1.Text = Result.ToString( ここに、書式を指定する文字列を入れる )
    としますと、いろいろ、お望みの書式で、テキストボックスに表示できます。

    例えば、
    TextBox1.Text = Result.ToString("C") とか、
    TextBox1.Text = Result.ToString("P") とか。
    特定の文字をひとつ書き込むと、貨幣単位をつけたり、パーセント表示にしたりできます。三桁ずつの区切りもできます。

    詳しくは、
    http://msdn.microsoft.com/ja-jp/library/dwhawy9k(v=VS.100).aspx
    をご覧下さい。使う文字と書式の説明の一覧があります。

    ゼロ詰めするとか、マイナス符号のつけ方とか、イロイロ細かく指定することもできますが、
    http://msdn.microsoft.com/ja-jp/library/0c899ak8.aspx
    に説明があります。こちらは、「一桁ずつ書式を設定する」という感じです。

    参考になれば幸いです。


    (ホームページを再開しました)
    • 回答の候補に設定 山本春海 2011年9月27日 6:59
    • 回答としてマーク 山本春海 2011年9月29日 6:26
    2011年9月13日 12:11
  • 蛇足かもしれませんが、外池さんの補足になります。

    計算結果が表示されているテキストボックスの値を手入力で入力し直すということがあるのでしょうか? であれば、その入力した値も随時3桁カンマ区切りで表示するには、以下のような工夫をする必要があります。

    テキストボックス入力数字を三桁カンマ入りで随時表示していく
    http://www110.kir.jp/csharp/chip0185.html

    もし、そのテキストボックスの値を上記のように修正しないのであれば、 テキストボックスのReadOnlyプロパティをtrueにしたり、テキストボックスの代わりにLabelコントロールを使うなどした方が良いでしょう。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答の候補に設定 山本春海 2011年9月27日 6:59
    • 回答としてマーク 山本春海 2011年9月29日 6:26
    2011年9月13日 14:00
    モデレータ
  • こんにちは、60代のプログラム初心者 さん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。

    その後いかがでしょうか。
    みなさんからのアドバイスは確認いただけましたか?

    有効な情報をいただいているかと思われましたので、勝手ながら私のほうで一旦回答としてマークさせていただきました。
    外池 さん、trapemiya さん、アドバイスありがとうございます。

    いただいた情報の中で、解決に役立った投稿や、参考になる情報など有効な情報には回答としてマークすることをお願いしています。
    今後、同じ問題でこのスレッドを参照される方にも、有効な情報を活用いただけるかと思いますので、ご協力よろしくお願いいたしますね。

    もし、不明な点があったり、または意図している内容と違っているという場合には、詳細を投稿してご質問を続けてくださいね。

    今後とも、MSDN フォーラムをよろしくお願いいたします。それでは。
                                                                                                                                                         
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2011年9月29日 6:26