Domanda

Sto cercando di convertire una stringa in un valore doppio, ma non mi sta tornando quello che mi aspettavo ...

double dbl;
Double.TryParse("20.0", out dbl);

Questo pezzo di codice restituisce 200,0 (anziché 20,0) come un valore doppio. Qualsiasi idea del perché?

È stato utile?

Soluzione

Si dovrebbe passare InvariantCulture al metodo.

La ragione di questo è che le impostazioni internazionali impostate probabilmente . come carattere di separazione e non punto decimale.

double.TryParse("20.0", NumberStyles.Any, 
                CultureInfo.InvariantCulture, out x);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top