У меня есть класс DoubleConverter , который делает точно , что вы хотите, по звукам этого.Используйте это следующим образом:
string text = DoubleConverter.ToExactString(doubleValue);
Вам нужно убедиться, что вы понимаете это только потому, что вывод имеет большое количество цифр, но это не значит, что он имеет такую большую точность .Возможно, вы захотите прочитать мою статью о двоичной переменной с плавающей запятой в .NET для получения дополнительной информации - или вы, возможно, будете в курсе всего этого, чтобы начать, конечно.требуется только строковое значение, которое может быть округлено, вам не требуется никакого дополнительного кода - просто используйте спецификатор формата "r":
string text = doubleValue.ToString("r");
Я согласен с общим подходом Джексона Поупа использовать допуск вСравнения на равенство для тестов, но иногда полезно увидеть точное значение, представленное двойным.Это может помочь понять, почему тот или иной расчет так или иначе получился.