Programação Progressiva
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
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 ","

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1Float com "." ou com "," Empty Float com "." ou com "," Sáb Set 14, 2013 2:24 pm

RicardoAziz



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

2Float com "." ou com "," Empty Re: Float com "." ou com "," 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á.

https://progressiva.forumeiros.com

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos