お世話になっております。小数点で有効桁数まで表示したいと思っています。例えば有効桁数が小数点第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; } }
■No1862 (あら さん) に返信 > 条件等を分けなくて、1行でやれる方法というのはないで > しょうか? MessageBox.Show(String.Format("{0:f3}", 1.2)); こんな感じで如何でしょうか? もし実数の少数桁が4桁以上ある場合は四捨五入されるので、そこだけは 気をつけた方が宜しいかと思います。
- Child Tree -