09/02/17 15:34:22
C# 2.0でDouble型のデータを文字列に変換するときの質問です。
通常
double a = 1.1;
a.ToString();
//結果="1.1"
のようになるのですが
以下の場合の解決を行いたいです。
double b = 0.000097;
b.ToString();
//結果="9.7E-05" 期待したい結果は "0.000097"
この結果を通常の10進数の表記を行いたいのですが
ToStringメソッドの引数に
"0.0000000"や "0.#############"
などを渡せば期待しているとおりの文字列を受け取ることができます。
しかし、小数点以下の部分が何桁になるかわからない場合、この表記であれば文字数を超えた部分が無効になると思います。
(例えば b.ToString("0.000")は"0.000"になる)
0.##...#を最大桁数分用意すればいいのかもしれませんが・・・・
何か綺麗な方法というのはないのでしょうか?