C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 小数点以下で有効桁数まで表示する方法について


(過去ログ 10 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■1862 / inTopicNo.1)  小数点以下で有効桁数まで表示する方法について
  
□投稿者/ あら (9回)-(2007/03/07(Wed) 18:00:05)

分類:[C# (Windows)] 

お世話になっております。

小数点で有効桁数まで表示したいと思っています。

例えば有効桁数が小数点第3位までの場合は
 1  →1.000
 1.1 →1.100
 1.12 →1.120
 1.123→1.123
といった感じで小数点で第3位までない場合は後ろに"0"を
付けたいと思っています。

そこで、下記のように条件を分けた場合はできるのですが、
条件等を分けなくて、1行でやれる方法というのはないで
しょうか?
あまりスマートなやり方ではないと思うので・・・。

よろしくお願いします。
環境は .NET 2005、Framwork2.0 です。
-------------------------------------------------
            double d = 0;
            string s;

            // 入力されている値を持ってくる
            d = Convert.ToDouble(textBox1.Text);

            s = d.ToString();

            // 先頭から'.'の位置を検索し見つかった位置を取得する
            int i = s.IndexOf('.');
            
            // 有効桁数以下の場合は'0'を付け足す
            if (i == -1)
            {
                s += ".000";
            }
            else
            {
                switch (s.Length - i)
                {
                    case (2):
                        s += "00";
                        break;
                    case (3):
                        s += "0";
                        break;
                }
            }

引用返信 編集キー/
■1863 / inTopicNo.2)  Re[1]: 小数点以下で有効桁数まで表示する方法について
□投稿者/ M.K (6回)-(2007/03/07(Wed) 18:10:27)
No1862 (あら さん) に返信

> 条件等を分けなくて、1行でやれる方法というのはないで
> しょうか?

MessageBox.Show(String.Format("{0:f3}", 1.2));

こんな感じで如何でしょうか?

もし実数の少数桁が4桁以上ある場合は四捨五入されるので、そこだけは
気をつけた方が宜しいかと思います。

引用返信 編集キー/
■1864 / inTopicNo.3)  Re[2]: 小数点以下で有効桁数まで表示する方法について
□投稿者/ あら (10回)-(2007/03/07(Wed) 18:32:32)
M.Kさん 返信ありがとうございます。

教えて頂いたやり方で解決しました。
ありがとうございました。
解決済み
引用返信 編集キー/
■1866 / inTopicNo.4)  Re[1]: 小数点以下で有効桁数まで表示する方法について
□投稿者/ よねKEN (13回)-(2007/03/07(Wed) 18:49:04)
よねKEN さんの Web サイト
String.Formatでもよいですが、ToStringでできますよ。

> s = d.ToString();
s = d.ToString("0.000");
でよいかと。(丸め方を自分で指定しないなら)

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -