web-dev-qa-db-ja.com

この値はExcelの1.845E-07を意味しますか?

相互運用サービスを使用して、C#からExcelシートを読んでいます。シートのセル値の1つが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」で同じ問題。これはどういう意味ですか??助けてください...

5
Red Swan

1.84E-07は 科学表記 を使用して表される正確な値で、指数表記とも呼ばれます。

1.845E-07は0.0000001845と同じです。より多くの小数を表示するようにセルの書式を変更しない限り、Excelは0に非常に近い数値を0として表示します。

ただし、C#はセルから実際の値を取得します。 ToStringメソッドは、小さい数値を文字列に変換するときにe表記を使用します。

電子表記を使用しない場合は、フォーマット文字列を指定できます。

13
Kjetil Watnedal

セルを強調表示し、セルをフォーマットし、[カスタム]を選択してからゼロを選択します。

1
Benno