124 votes

Conversion de chaîne en flottant en C#

Je convertis une chaîne comme "41.00027357629127", et j'utilise ;

Convert.ToSingle("41.00027357629127");

ou

float.Parse("41.00027357629127");

Ces méthodes retournent 4.10002732E+15.

Quand je me convertis au flotteur je veux "41.00027357629127". Cette chaîne devrait être la même...

256voto

Matthew Watson Points 30804

La région de votre thread est définie sur une région dans laquelle la marque décimale est "," au lieu de ".".

Essayez d'utiliser ceci :

float.Parse("41.00027357629127", CultureInfo.InvariantCulture.NumberFormat);

Notez, cependant, qu'un flotteur ne peut pas contenir autant de chiffres de précision. Vous devrez utiliser le double ou le décimal pour le faire.

26voto

user4292249 Points 269

Vous pouvez utiliser ce qui suit :

float asd = (float) Convert.ToDouble("41.00027357629127");

9voto

Ozgur Dogus Points 542

Utiliser Convert.ToDouble("41.00027357629127");

DocumentationConvert.ToDouble

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X