Ir ao conteúdo

C# Como usar C# de forma mais eficiente?


Ir à solução Resolvido por arfneto,

Posts recomendados

Postado

Toda vez que eu estou fazendo exercício com float ou double eu preciso ficar colocando (var é o nome genérico da variável)

var.ToString(CultureInfo.InvariantCulture)

na entrada e na saída, além de ter que puxar

using System.Globalization

para o programa entender ponto "." ao invés de vírgula "," Deve ter alguma forma mais fácil do programa entender pontos de forma automática. Alguém sabe?

  • Curtir 1
Postado
4 horas atrás, Felipecfk disse:

Ajuda aí pessoal

Descupa. Parece que não é difícil resolver isso, mas realmente faz tempo que não pego c#. Nem windows eu tenho mais. a anos... então visual studio ou o compilador em linha de comando... nem pensar pra mim...

  • Curtir 1
Postado
1 hora atrás, codigo rápido disse:

Descupa. Parece que não é difícil resolver isso, mas realmente faz tempo que não pego c#. Nem windows eu tenho mais. a anos... então visual studio ou o compilador em linha de comando... nem pensar pra mim...

Ta tranquilo, depois eu vejo isso melhor. É alguma coisa na instalação que ele pega o padrão português de vírgula ao invés do inglês. Você está usando quais linguagens atualmente?

  • Curtir 1
Postado
5 horas atrás, Felipecfk disse:

Você está usando quais linguagens atualmente?

Eu fiquei longe da computação (trabalho) por uns 6 anos. Só programaei pra mim mesmo algumas poucas coisas em várias linguagens como Java e javaScript. Eu estou brigando com uma depressão profunda. Por isso me mantive mais focado em trabalhos mais manuais. Eu sempre gostei de estudar processos industriais e eletronica. No momento estou relembrando o C. Mas eu já trabalhei com umas 9 linguagens.
 

  • Curtir 2
  • Solução
Postado
Em 19/09/2021 às 17:27, Felipecfk disse:

Toda vez que eu estou fazendo exercício com float ou double eu preciso ficar colocando (var é o nome genérico da variável)

 

Pois é. Seu sistema roda talvez Windows em português e está configurado para usar o sistema métrico, separar os milhares com . e os decimais com vírgula? 

 

O sistema está tentando ajudar você. Se é "ineficiente" para o seu caso mude as configurações... O simples. 

 

Se usa Windows 10 pode apertar o botão iniciar e escrever "mudar região" e vai ver isso
 

image.png.01c738a62db83b7e2b665ece4214bd30.png

 

 

image.png.f97e7db0e1f6294f3f451f3998a9e6f9.png

Ou pode apertar Windows+C e perguntr para a Cortana em português: "Como mudar as configurações Regionais?" e ela vai te falar em português enquanto mostra o texto ao lado

 

 

 

 

 

 

 

 

 

 

:) 

 

 

 

 

 

 

 

 

 

 

 

 

 

E te todo modo vai acabar nessa janela

 

image.png.67910508537f07e2fe2c144587338430.png

 

 

Onde você pode mudar o que achar mais eficiente.

 

No entanto isso vale de imediato para todos os programas, afinal trata-se de um padrão.

 

Você pode criar várias localidades com o nome que quiser e dar nomes e usar em seus programas, e para isso usa

aquela classe a que se referiu.

 

 

 

 

 

 

 

 

 

Isso também vale para a classe CultureInfo. E onde está a documentação daquilo? 

 

Está onde está a absolutamente extensa documentação do fabricante. 

 

E você pode ver exemplos em português, apesar de constantes tropeços do mecanismo de tradução, em https://docs.microsoft.com/pt-br/dotnet/api/system.globalization.cultureinfo?view=net-5.0 ou de acordo com a versão de .Net que use. No entanto acho que até a versão 6.0 e desde sempre nada tem mudado. E nem no Windows porque aquela tela que eu mostrei já tinha residência no Windows 95.

 

Um exemplo que está em https://docs.microsoft.com/pt-br/dotnet/api/system.globalization.cultureinfo?view=net-5.0 começa por

 

  public static void Main()
   {

      // Creates and initializes the CultureInfo which uses the international sort.
      CultureInfo myCIintl = new CultureInfo("es-ES", false);

      // Creates and initializes the CultureInfo which uses the traditional sort.
      CultureInfo myCItrad = new CultureInfo(0x040A, false);

      // Displays the properties of each culture.

...

 

 

E acho que já entendeu que pode criar uma classe que define seu CultureInfo e importar no início para não ter que mudar no sistema. 

 

E claro que pode escrever um script de 2 linhas e deixar um atalho no "acesso rápido" do Windows e que muda para de e para os locais que queira. 
 

image.png.b4d4c02e43068b2caf15ac69c0dcff26.png

Tudo vai dar no mesmo lugar, as configurações regionais do Windows e a CultureInfo no C# vão acabar em alguma estrutura interna do sistema e uma função em C.

  • Obrigado 1
Postado
Em 21/09/2021 às 20:33, arfneto disse:

E acho que já entendeu que pode criar uma classe que define seu CultureInfo e importar no início para não ter que mudar no sistema. 

 

Sim, era isso que eu estava procurando, uma opção dentro do próprio programa, pra declarar uma vez e depois não precisar novamente. Apesar que alterar configurações de idioma funciona até melhor porque aí o programa fica até mais limpo. Mas vou testar as duas de qualquer forma porque nem sempre convém ficar alterando configurações de idioma pelo windows.

 

Citação

E claro que pode escrever um script de 2 linhas e deixar um atalho no "acesso rápido" do Windows e que muda para de e para os locais que queira. 

É, mas aí fica meio gambiarra. Mas obrigado pelas inúmeras soluções.

De fato eu deveria ter lido melhor a documentação, é que eu presumi que lá estaria da mesma forma que estou fazendo agora: tendo que converter o double na saída. Eu estou aprendendo num curso online onde o professor explica bem mas as vezes ele é meio "pardal" rsrs. E eu gosto do código mais enxuto.

Postado
34 minutos atrás, Felipecfk disse:

Mas vou testar as duas de qualquer forma porque nem sempre convém ficar alterando configurações de idioma pelo windows.

Considere sempre que o programa pode estar rodando em um computador que não é o seu. :) O do seu chefe, ou do chefe dele...

O ético é sempre consultar o sistema, mudar a configuração se não for adequada e depois voltar para a configuração original.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...