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