分類:[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;
}
}
|