Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

Float com "." ou com ","

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Float com "." ou com "," em Sab Set 14, 2013 2:24 pm

Li no javaprogressivo.net/2012/08/java-recebendo-dados-do-usuario-classe.html que o certo em campo float é usar . (ponto) e não , (virgula). Até ai tudo bem, é da mesma forma que trabalho em SQL.

No exercicio sobre IMC em javaprogressivo.net/2012/08/java-operacoes-matematicas-adicao.html , fiz o seguinte código:


package javaapplication1;

import java.util.Scanner;

public class JavaApplication1 {
   public static void main(String[] args) {
       Scanner entrada = new Scanner(System.in);
       float peso;
       float altura;
       
       //Pergunta peso
       System.out.println("Digite seu peso: ");
       peso = entrada.nextFloat();
       
       //Pergunta altura
       System.out.println("Digite sua altura: ");
       altura = entrada.nextFloat();
       
       
       System.out.printf("%.2f / %.2f - %.2f\n",peso, altura, peso / Math.pow(altura,2));
   }
}

Quando executo a aplicação e sou solicitado a informa o peso e altura se uso . (ponto) recebo o seguinte erro:
Digite seu peso:
88.0
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextFloat(Scanner.java:2388)
at javaapplication1.JavaApplication1.main(JavaApplication1.java:14)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 3 segundos)


Se uso virgula funciona corretamente, inclusive o calculo, veja a saida:
Digite seu peso:
88,0
Digite sua altura:
1,68
88,00 / 1,68 - 31,18
CONSTRUÍDO COM SUCESSO (tempo total: 9 segundos)

Será pelo fato de o Java estar em portugues e o netbeans tambem ele já interpreta que é , o padrão regional?

Obrigado
Ricardo

Ver perfil do usuário

2 Re: Float com "." ou com "," em Ter Set 17, 2013 11:45 pm

Admin


Admin
Olá Ricardo,

Antigamente era sempre ".", e algumas linguagens 'livres', como o C, sempre adotaram essa nomenclatura.
Mas algumas linguagens, principalmente as que são feitas por empresa, como o Java, decidiram deixar as coisas mais regionalizadas, dando a opção de usar uma ou outra.

Senão me engano, você pode usar tanto de uma maneira (".") como de outra (","), esse ajuste pode ser feito na IDE mesmo ou no JDK. Não sei te informar os detalhes, pois sempre uso o sistema operacional e aplicações em inglês mesmo, pois é mais 'universal'.

Mas obrigado por avisar, já tinha ouvido falar mas não lembrava que tinha escrito dessa maneira aí no artigo.
Vou atualizar lá.

Ver perfil do usuário http://progressiva.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum