Ir para conteúdo
Fórum Script Brasil
  • 0

Tratamento de virgulas


André Salles

Pergunta

Boa noite pessoal, sou novo em java e estou com uma duvida.

 

Estou desenvolvendo uma aplicação básica de desconto em porcentagem, porem na hora de digitar o valor, o java não aceita virgulas com separador. 

 

Sabem me dizer como tratar isso ?

segue o código.

 

package exercicios;

import java.util.Scanner;

public class ValoresDeCarros {

    public static void main(String[] args) {
        
    
        Scanner scanner = new Scanner(System.in);

        int ValorTabela;
        
        System.out.println("Digite o valor de tabela do carro:");
        ValorTabela = scanner.nextInt();
               
        int resultadoDesconto = (ValorTabela*20)/100;
        int resultadoPagamento = ValorTabela-resultadoDesconto;
                
        System.out.println("O valor do desconto será: R$" + resultadoDesconto);
        System.out.println("O valor e a ser pago é: R$" +  resultadoPagamento);
                
    }
       
}

Obrigao ;)

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa no caso é porque você está lendo como inteiro
 

package exercicios;

import java.util.Scanner;

public class ValoresDeCarros {

	public static void main(String[] args) {


	Scanner scanner = new Scanner(System.in);

	double valorTabela;

	System.out.println("Digite o valor de tabela do carro:");
	valorTabela = scanner.nextDouble();

	double resultadoDesconto = (valorTabela*20)/100;
	double resultadoPagamento = valorTabela-resultadoDesconto;

	System.out.println("O valor do desconto será: R$" + resultadoDesconto);
	System.out.println("O valor e a ser pago é: R$" + resultadoPagamento);

}

}

 

Só que a leitura denpederá do Locale se estiver em português vai ler valores como 19567,34  se estiver em inglês usará o ponto 19567.34

 

package exercicios;

import java.util.Scanner;
import java.util.Locale;

public class ValoresDeCarros {

    public static void main(String[] args) {
        
    
        Scanner scanner = new Scanner(System.in);
        //Confugurando para ler com vírgula
        scanner.useLocale(new Locale("pt","BR"));

        double valorTabela;
        
        System.out.println("Digite o valor de tabela do carro:");
        valorTabela = scanner.nextDouble();
               
        double resultadoDesconto = (valorTabela*20)/100;
        double resultadoPagamento = valorTabela-resultadoDesconto;
                
        System.out.println("O valor do desconto será: R$" + resultadoDesconto);
        System.out.println("O valor e a ser pago é: R$" +  resultadoPagamento);
                
    }
       
}
Se você quiser que os valores impressos também sejam no formato com vírgula pode usar um formatter
http://www.guj.com.br/t/formatacao-de-valores-monetarios/227203/2
Editado por Vlad Bezerra
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...