Pergunta

Eu estou tentando converter uma string para um valor duplo, mas ele não está me devolvendo o que eu espero ...

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

Esse pedaço de código está retornando 200,0 (em vez de 20,0) como um valor duplo. Qualquer ideia porquê?

Foi útil?

Solução

Você deve passar InvariantCulture para o método.

A razão por trás disso é que as configurações regionais, provavelmente, definir . como caractere separador e não ponto decimal.

double.TryParse("20.0", NumberStyles.Any, 
                CultureInfo.InvariantCulture, out x);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top