|
あれ?decimal d=0.0100MをToStringすると"0.0100"になる
decimal d=0.0100MをToString()すると"0.0100"になります。
"0.01"としたい場合はどうすれば、よいのでしょうか。。。
ということで考えてみました。
テストコード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
private void button1_Click(object sender, EventArgs e)
{
decimal d = 0.0100M;
Console.WriteLine(d); // 0.0100
d = DecimalZeroCut(d);
Console.WriteLine(d); // 0.01
}
private decimal DecimalZeroCut(decimal d)
{
string s = d.ToString();
if (s.IndexOf(".") < 0)
{
// 小数点なし
return d;
}
return decimal.Parse(s.TrimEnd('0'));
}
|
これで後ろの0をカットしてくれます。
うーん、そもそもdecimal型の変数で小数桁に無駄な0が付いてることなどあるのか?
|
|