web-dev-qa-db-fra.com

quelle est cette valeur signifie 1.845E-07 dans Excel?

Je lis la feuille Excel de C # en utilisant les services interop. Ma feuille a une valeur de cellule de 0,00. mais le temps d'exécution lorsque je vérifie la valeur de cette cellule dans le code C #, j'obtiens "1.845E-07" cette valeur. Lorsque je vérifie dans une feuille Excel, cliquez avec le bouton droit de la souris sur cette cellule, par exemple, formatez-la. Comment obtenir une valeur exacte? Aidez-moi, s'il vous plaît. Le code est énorme, je ne peux donc pas le fournir ici. cette ligne est:

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

Même problème avec les cellules de date "39448". qu'est-ce que cela signifie? S'il vous plaît aider ....

4
Red Swan

1.84E-07 est la valeur exacte, représentée par notation scientifique , également appelée notation exponentielle.

1.845E-07 est identique à 0.0000001845. Excel affichera un nombre très proche de 0 sous la forme 0, sauf si vous modifiez le formatage de la cellule pour afficher plus de décimales.

C # obtiendra cependant la valeur réelle de la cellule. La méthode ToString utilise la notation électronique lors de la conversion de petits nombres en chaîne.

Vous pouvez spécifier une chaîne de format si vous ne souhaitez pas utiliser la notation électronique.

12
Kjetil Watnedal

Mettez en surbrillance les cellules, formatez les cellules, sélectionnez Personnalisé, puis sélectionnez zéro.

1
Benno