質問
どのように変換するdouble文字列なの10表現(E-05)
double value = 0.000099999999833333343;
string text = value.ToString();
Console.WriteLine(text); // 9,99999998333333E-05
私は、文字列 テキスト する0.000099999999833333343(またはほぼることはやってませんロケット科学)
たって、以下のバ
Console.WriteLine(value.ToString()); // 9,99999998333333E-05
Console.WriteLine(value.ToString("R20")); // 9,9999999833333343E-05
Console.WriteLine(value.ToString("N20")); // 0,00009999999983333330
Console.WriteLine(String.Format("{0:F20}", value)); // 0,00009999999983333330
いtostring20形式F20るように最も近いしたいことが、終わる多くの末尾のゼロがあるのでマテリアルの使い方を回避す。いてみたいと思いしないようにしてダブルとしての表現を可能に0.000099999999833333343
解決
使用 文字列になります。形式() の フォーマット指定子.たいと思います{0:F20}います。
string formatted = String.Format("{0:F20}", value);
他のヒント
あなたはstring.Format()
は必要ありません。ただ、既存の.ToString()
方法で右フォーマット文字列を置きます。 "N" のような何かを行う必要があります。
どの程度
Convert.ToDecimal(doubleValue).ToString()
、適切な書式指定子でstring.Format
を使用してください。
このブログ記事は、多くの例があります:ます。http: //blogs.msdn.com/kathykam/archive/2006/03/29/564426.aspxする
所属していません StackOverflow