Как преобразовать двойное в строковое представление с плавающей точкой без научной записи в .NET Framework?
«Маленькие» выборки (эффективные числа могут быть любого размера, например 1.5E200
или 1e-200
):
3248971234698200000000000000000000000000000000
0.00000000000000000000000000000000000023897356978234562
Ни один из стандартных числовых форматов не похож на этот, и пользовательский формат также не позволяет иметь открытое число цифр после десятичного разделителя.
Это не дубликат Как преобразовать double в строку без представления степени 10 (E-05) , потому что ответы, которые там даны, не решают проблему под рукой , В этом вопросе было принято решение использовать фиксированную точку (например, 20 цифр), а это не то, чего я хочу. Форматирование с фиксированной точкой и обрезание избыточного 0 также не решает проблему, поскольку максимальная ширина для фиксированной ширины составляет 99 символов.
Примечание: решение должно правильно обрабатывать пользовательские числовые форматы (например, другой десятичный разделитель, в зависимости от информации о культуре).
Редактировать: Вопрос на самом деле только о перемещении вышеупомянутых чисел. Я знаю, как работают числа с плавающей запятой и какие числа можно использовать и вычислять с ними.