Jak przekonwertować double na string bez mocy do 10 reprezentacji (E-05)

Jak przekonwertować double na string bez mocy do 10 reprezentacji (E-05)

double value = 0.000099999999833333343;
string text = value.ToString();
Console.WriteLine(text); // 9,99999998333333E-05

Chciałbym sznurektekst być 0.000099999999833333343 (lub prawie tak, nie robię nauki o rakietach :)

Wypróbowałem następujące warianty

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   

Wykonywanie sznurka N20 lub formatu F20 wydaje się najbliższe temu, czego chcę, ale kończę na wielu końcowych zerach, czy istnieje sprytny sposób na uniknięcie tego? Chciałbym uzyskać możliwie najbliższą podwójną reprezentację 0,000099999999833333343

questionAnswers(4)

yourAnswerToTheQuestion