Превратить число в экспоненциальной форме в десятичное - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь преобразовать число в экспоненциальной форме в его десятичный эквивалент. Например:

3e43 => 3 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0

Я прочитал документы, и там написано, что я могу сделать это с double.Parse(expNumber.ToString(), NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint);

Но когда я пытаюсь преобразовать 3e43 в десятичную, он просто конвертирует ее в 3E + 43, а не в ожидаемое число (я знаю, что речь идет о точности двойного типа данных). Есть ли способ сделать это?

Кроме того, есть ли способ преобразовать 3e-43 в его десятичный эквивалент? Похоже, что decimal.toString на этот раз не работает, так как это небольшое число.

1 Ответ

0 голосов
/ 12 мая 2018

Если вы хотите увидеть все нули

просто используйте Double.ToString он имеет различные перегрузки, чтобы делать разные вещи

var input = "3e43";
var val = double.Parse(input, NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint);
Console.WriteLine(val);
Console.WriteLine(val.ToString("N0"));
Console.WriteLine(val.ToString("f"));

выход

3E+43
30,000,000,000,000,000,000,000,000,000,000,000,000,000,000
30000000000000000000000000000000000000000000.00

Полная демонстрация здесь


Дополнительные ресурсы

Строки стандартного числового формата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...