Usuário com melhor resposta
Modificando Separador Decimal em C# .Net CompactFramework

Pergunta
-
Tenho um aplicativo em C# (Windows Mobile) que realiza calculos numéricos porem quando uso em dispositivos com a cultureInfo pt-Br, o ponto não funciona.Como faço para modificar o Decimal Separator em Windows Mobile.
- Tipo Alterado C. Augusto Proiete [MVP] sábado, 30 de janeiro de 2010 22:33 Trata-se de uma pergunta
- Movido C. Augusto Proiete [MVP] sábado, 30 de janeiro de 2010 22:41 Movido para fórum apropriado (De:Windows Forms & Smart Client)
Respostas
-
Olá Júlio,
Idealmente, a sua aplicação não deve depender da cultura definida na máquina... Você deve definir qual cultura pretende utilizar, sempre que for efetuar uma conversão desse tipo (número -> string, string -> numero).
Exemplo:
// Cria uma instância com as configurações da cultura brasileira (formatos) CultureInfo culturaBrasileira = new CultureInfo("pt-BR"); // Variável que define um valor string qualquer (para o exemplo) string valorFormatado = "R$ 15,90"; // Converte o valor string utilizando a cultura brasilera, indicando que // trata-se de um valor moeda (Currency) para que ele consiga interpretar decimal valorDecimal = decimal.Parse(valorFormatado, NumberStyles.Currency, culturaBrasileira);
Para mais detalhes, recomendo a leitura do tópico abaixo:
Decimal, 2 casas após virgula
http://social.msdn.microsoft.com/Forums/pt-BR/clientept/thread/5605b11a-6603-4e6c-be2f-6766be8d0da7
Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://www.caioproiete.com- Sugerido como Resposta C. Augusto Proiete [MVP] terça-feira, 2 de fevereiro de 2010 16:23
- Marcado como Resposta AndreAlvesLimaModerator terça-feira, 2 de fevereiro de 2010 20:07
Todas as Respostas
-
Olá Júlio,
Idealmente, a sua aplicação não deve depender da cultura definida na máquina... Você deve definir qual cultura pretende utilizar, sempre que for efetuar uma conversão desse tipo (número -> string, string -> numero).
Exemplo:
// Cria uma instância com as configurações da cultura brasileira (formatos) CultureInfo culturaBrasileira = new CultureInfo("pt-BR"); // Variável que define um valor string qualquer (para o exemplo) string valorFormatado = "R$ 15,90"; // Converte o valor string utilizando a cultura brasilera, indicando que // trata-se de um valor moeda (Currency) para que ele consiga interpretar decimal valorDecimal = decimal.Parse(valorFormatado, NumberStyles.Currency, culturaBrasileira);
Para mais detalhes, recomendo a leitura do tópico abaixo:
Decimal, 2 casas após virgula
http://social.msdn.microsoft.com/Forums/pt-BR/clientept/thread/5605b11a-6603-4e6c-be2f-6766be8d0da7
Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://www.caioproiete.com- Sugerido como Resposta C. Augusto Proiete [MVP] terça-feira, 2 de fevereiro de 2010 16:23
- Marcado como Resposta AndreAlvesLimaModerator terça-feira, 2 de fevereiro de 2010 20:07
-