Conversion

Le
Patrick
Bonjour,

Dans un DataRow il y a cette valeur '-1.51582450295488E-10' de type 'string'
qui est convertie en 'decimal' comme cela :

= Convert.ToDecimal(dataRow["mon_champ"])

mais il y a l'erreur suivante :

Input string was not in a correct format

Savez-vous pourquoi ?

Merci pour votre aide.

--
Patrick
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12127251
Le Thu, 23 Aug 2007 17:26:08 +0200, Patrick

Bonjour,

Dans un DataRow il y a cette valeur '-1.51582450295488E-10' de type
'string'
qui est convertie en 'decimal' comme cela :

... = Convert.ToDecimal(dataRow["mon_champ"])

mais il y a l'erreur suivante :

Input string was not in a correct format

Savez-vous pourquoi ?

Merci pour votre aide.




Convert.ToDecimal() ne convertie pas les nombres exponentielles vous devez
utiliser Decimal.Parse()

Decimal.Parse("-1.51582450295488E-10", NumberStyles.Number |
NumberStyles.AllowExponent, CultureInfo.InvariantCulture)

NOTE : Pensez à respecter cette règle qui vous évitera d'avoir des
problèmes avec les convertions entre les "." et/ou les "," :
http://msdn2.microsoft.com/en-us/library/fb34ed9a-4eab-47cc-8eef-3068a4a1397e(vs.80).aspx

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Patrick
Le #12127241
Merci.

--
Patrick


"Gilles TOURREAU" wrote:

Le Thu, 23 Aug 2007 17:26:08 +0200, Patrick

> Bonjour,
>
> Dans un DataRow il y a cette valeur '-1.51582450295488E-10' de type
> 'string'
> qui est convertie en 'decimal' comme cela :
>
> ... = Convert.ToDecimal(dataRow["mon_champ"])
>
> mais il y a l'erreur suivante :
>
> Input string was not in a correct format
>
> Savez-vous pourquoi ?
>
> Merci pour votre aide.
>

Convert.ToDecimal() ne convertie pas les nombres exponentielles vous devez
utiliser Decimal.Parse()

Decimal.Parse("-1.51582450295488E-10", NumberStyles.Number |
NumberStyles.AllowExponent, CultureInfo.InvariantCulture)

NOTE : Pensez à respecter cette règle qui vous évitera d'avoir des
problèmes avec les convertions entre les "." et/ou les "," :
http://msdn2.microsoft.com/en-us/library/fb34ed9a-4eab-47cc-8eef-3068a4a1397e(vs.80).aspx

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Publicité
Poster une réponse
Anonyme