что это за значение означает 1.845E-07 в excel? - PullRequest
5 голосов
/ 05 мая 2010

Я читаю лист Excel из C # с помощью служб взаимодействия. Мой лист имеет значение ячейки 0,00. но во время выполнения, когда я проверяю значение этой ячейки в коде C #, я получаю «1.845E-07» это значение. Когда я проверяю в листе Excel, в этой ячейке щелкнул правой кнопкой мыши, скажем, ячейка формата, я получил значение «1.845E-07» в разделе примера. Как получить точное значение? Пожалуйста, помогите мне. Код огромен, поэтому я не могу предоставить его здесь. эта строка:

if (Convert.ToString(((Excel.Range)worksheet.Cells[iRowindex, colIndex_q10]).Value2) != string.Empty)
{
    drRow[dtSourceEXLData.Columns[constants.Floor]] = ((Excel.Range)worksheet.Cells[iRowindex, colIndex_q10]).Value2.ToString();
}

Та же проблема с ячейками даты "39448". что это значит ?? пожалуйста помогите ....

Ответы [ 2 ]

13 голосов
/ 05 мая 2010

1.84E-07 - точное значение, представленное с использованием научной записи , также известной как экспоненциальная запись.

1.845E-07 - это то же самое, что и 0,0000001845. Excel отобразит число, очень близкое к 0, как 0, если только вы не измените форматирование ячейки, чтобы отображать больше десятичных знаков.

C # однако получит фактическое значение из ячейки. Метод ToString использует электронную нотацию при преобразовании небольших чисел в строку.

Вы можете указать строку формата, если не хотите использовать электронную нотацию.

1 голос
/ 02 июля 2014

Выделите ячейки, отформатируйте ячейки, выберите Custom, затем выберите ноль.

...