Domanda

Sto leggendo il foglio di Excel da C # utilizzando l'interoperabilità dei servizi. Il mio foglio ha una valore di una cella come 0.00. ma il tempo di esecuzione quando sto controllando il valore di quella cella in codice C # sto ottenendo "1.845E-07" di questo valore. Quando controllo nel foglio di Excel, in quella cella a destra cliccato, dire delle cellule formato ho ottenuto "1.845E-07" il valore nella sezione del campione. Come ottenere il valore esatto? Mi aiuti per favore. Il codice è enorme, quindi non posso fornire qui.  quella linea è:

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();
}

Lo stesso problema con le cellule Data "39448". Che cosa significa questo significa ?? si prega di aiuto ....

È stato utile?

Soluzione

1.84E-07 è il valore esatto, rappresentato utilizzando la notazione scientifica , noto anche come esponenziale notazione.

1.845E-07 è lo stesso di 0,0000,001845 millions. Excel visualizzerà un numero molto vicino a 0 come 0, a meno che non si modifica la formattazione della cella per visualizzare più decimali.

C # tuttavia otterrà il valore effettivo della cella. Il metodo ToString utilizzare l'e-notazione durante la conversione di piccoli numeri in una stringa.

È possibile specificare una stringa di formato, se non si desidera utilizzare l'e-notazione.

Altri suggerimenti

Evidenziare le celle, Formato celle, selezionare Personalizzata quindi selezionare zero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top