Как я могу удалить нули из показательной записи
Я использую экспоненциальное форматирование для форматирования десятичного числа в С#.
Например, если число
0.0001234567
Форматирование с помощью
(0.0000123456).ToString("E4");
Показывает
1.2345E-004
Как удалить исходный ноль из экспоненты, чтобы он читался ниже?
1.2345E-4
Ответы
Ответ 1
Предполагая, что вам нужно всегда показывать 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
Ответ 2
Цитата MSDN:
Случай спецификатора формата указывает, следует ли префикс экспонента "E" или "e". Показатель всегда состоит из знака плюс или минус и минимум трех цифр. Экспонент заполняется нулями, чтобы соответствовать этому минимуму, если требуется.
Это со спецификатором стандартного номера.
Однако с пользовательским номером формата вы можете установить число 0:
987654 ("#0.0e0") -> 98.8e4
В вашем случае это
(0.0000123456).ToString("#0.0E0"); //12.3E-6
Изменить после комментария BobSort
Если вам нужна научная нотация, вы можете указать, что вам нужна только одна цифра перед десятичной со следующим:
(0.0000123456).ToString("0.00#E0"); //1.23E-5