Problema na conversão de números decimais (de string para float)
-
terça-feira, 10 de julho de 2012 00:12Pessoal, estou criando uma aplicação onde o usuário digita um número em um TextBox e este número é adicionado em uma fila de floats.
Em seguida, percorro essa fila para buscar os elementos adicionados e realizar alguns cálculos com eles.
O problema é que, quando o valor digitado pelo usuário no TextBox é convertido pra float para ser inserido na fila, a conversão não funciona para números decimais. Isso ocorre quando o "." é utilizado para separar a parte inteira da parte decimal. Se eu utilizar "," a conversão funciona corretamente (porém, no teclado com InputScope="Number", apenas o "." é exibido).
Existe alguma forma de evitar este problema na conversão de uma string de números para um valor float, quando o separador das casas decimais é "."?
Todas as Respostas
-
terça-feira, 10 de julho de 2012 09:41
Marcos, basta indicares o CultureInfo.InvariantCulture na conversão, como este exemplo:
string numText = "123.45"; float num = float.Parse(numText, System.Globalization.CultureInfo.InvariantCulture);
Pedro Lamas
DevScope | Senior Software Development Engineer & WP7 Development Speaker
www.pedrolamas.com | @pedrolamas- Marcado como Resposta Marcos Antônio Tanaka quarta-feira, 11 de julho de 2012 03:12
-
quarta-feira, 11 de julho de 2012 03:12
Olá Pedro!
Realmente era isso mesmo! Quando o telefone estava configurado com a região e idioma "Português (Brasil)", a conversão não funcionava. Se o telefone estivesse configurado com "English (United States)", aí funcionava.
Adicionei o CultureInfo.InvariantCulture na conversão e agora está funcionando.
Obrigado pela ajuda!

