none
Modificando Separador Decimal em C# .Net CompactFramework RRS feed

  • 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.
    quarta-feira, 6 de janeiro de 2010 10:50

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
    sábado, 30 de janeiro de 2010 22:40

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
    sábado, 30 de janeiro de 2010 22:40
  • Muito obrigado Caio, essa dica me auxiliou muito porém precisaria mesmo de modificar o Separador e no Windows Mobile 6 isso não é possível.
    Desde já agradeço.
    quarta-feira, 3 de fevereiro de 2010 10:14