Cómo convertir doble a cadena sin el poder a 10 representaciones (E-05)

Cómo convertir doble a cadena sin el poder a 10 representaciones (E-05)

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

Me gustaria la cuerdatexto para ser 0.000099999999833333343 (o casi eso, no estoy haciendo ciencia espacial :)

He probado las siguientes variantes.

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   

Hacer una prueba de N20 o el formato F20 parece lo más parecido a lo que quiero, pero al final tengo muchos ceros al final, ¿hay alguna forma inteligente de evitar esto? Me gustaría acercarme lo más posible a la doble representación 0.000099999999833333343

Respuestas a la pregunta(4)

Su respuesta a la pregunta