как удалить нули из экспоненциальной нотации
Я использую экспоненциальное форматирование для форматирования десятичного числа в C#. Например, если число
0.0001234567
форматирование
(0.0000123456).ToString("E4");
показывает
1.2345E-004
как я могу удалить ведущий нуль из экспоненты, чтобы он читался, как показано ниже?
1.2345E-4
2 ответов
предполагая, что вам нужно всегда показывать 4 цифры после десятичной точки, попробуйте
"0.0000E+0"
так это покажет
(0.0000123456).ToString("0.0000E+0"); //1.2345E-5
(0.0000120000).ToString("0.#E+0"); //1.2000E-5
если вам не нужно показать 4 цифры после десятичной точки
"0.#E+0"
так это покажет
(0.0000123456).ToString("0.#E+0"); //1.2E-5
(0.0000120000).ToString("0.#E+0"); //1.2E-5
цитирую MSDN:
случай спецификатора формата указывает, следует ли префикс экспоненты с "E" или "e". Показатель всегда состоит из знака плюс или минус и минимум трех цифр. Экспонента дополняется нулями, чтобы соответствовать этому минимуму, если требуется.
Это со стандартным спецификатором номера.
однако, с пользовательский числовой формат, вы можете установить количество 0 это:
987654 ("#0.0e0") -> 98.8e4
для вашего случая это
(0.0000123456).ToString("#0.0E0"); //12.3E-6
редактировать после комментария Бобсорта
Если вам нужна научная нотация, вы можете указать, что вам нужна только одна цифра до десятичного знака со следующим:
(0.0000123456).ToString("0.00#E0"); //1.23E-5