Limitar caracteres

3 respostas
D

ola gente tenho uma janela que faz o calculo do pagamento mais quando o valor de 261.60

a quantidade de parcelas duas e zero de recebimento o resultado aparece um monte de zero

eu quero q diminua esse monte de zero como faço segue abaixo meu código?

import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;
//import java.text.SimpleDateFormat;
//import java.util.Date;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.*;


import Modelo.PagamentoCliente;



//import controle.Utilitarios;

// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção

public class CalcularPagamento extends JFrame {
	private JLabel rotulo1, rotulo2, rotulo3,rotulo4,rotulo5,rotulo6,rotulo7;
	private JTextField caixa2, caixa3,caixa4,caixa5,caixa6,caixa7;
	private JButton botao1, botao2;


	private static EntityManagerFactory fabricaDeEntidades = null;

	private static EntityManager gerenciador = null;
	private final ButtonGroup buttonGroup = new ButtonGroup();
	
	 DecimalFormat df= new DecimalFormat(",##0,00");

	public CalcularPagamento(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) {
		super("Pagamento");
		Container tela = getContentPane();

		tela.setLayout(null);

		
		rotulo1 = new JLabel("Forma de Pagamento:");
		rotulo2 = new JLabel("Qtde de Parcelas");
		rotulo3 = new JLabel("Valor Orçamento");
		rotulo4 = new JLabel("Valor Recebido");
		rotulo6 = new JLabel("Valor por Parcelas:");
		rotulo5 = new JLabel("Diferen\u00E7a:");
		rotulo7 = new JLabel("Valor a Prazo:");
		caixa2 = new JTextField();
		caixa3 = new JTextField();
		caixa4 = new JTextField();
		caixa5 = new JTextField();
		caixa6 = new JTextField();
		caixa7 = new JTextField();

		botao1 = new JButton("Calcular");
		botao2 = new JButton("Fechar");
	
		// coluna, linha, largura, altura
		rotulo1.setBounds(26, 28, 124, 20);

		botao1.setBounds(26, 278, 100, 20);
		botao2.setBounds(136, 278, 90, 20);
		
		
		rotulo2.setBounds(26, 59, 100, 20);
		caixa2.setBounds(160, 59, 70, 20);

		rotulo3.setBounds(26, 90, 100, 20);
		caixa3.setBounds(160, 90, 70, 20);
		
		rotulo4.setBounds(26, 121, 100, 20);
		caixa4.setBounds(160, 121, 70, 20);
		
		rotulo5.setBounds(26, 169, 50, 20);
		caixa5.setBounds(160, 169, 70, 20);
		
		rotulo6.setBounds(26, 200, 100, 20);
		caixa6.setBounds(160, 200, 70, 20);
		
		rotulo7.setBounds(26, 231, 218, 20);
		caixa7.setBounds(160, 231, 70, 20);

		tela.add(rotulo1);

		tela.add(rotulo2);
		tela.add(caixa2);

		tela.add(botao1);
		tela.add(botao2);
		


		tela.add(rotulo3);
		tela.add(caixa3);
		
		tela.add(rotulo4);
		tela.add(caixa4);
		
		tela.add(rotulo5);
		tela.add(caixa5);
		
		tela.add(rotulo6);
		tela.add(caixa6);
		
		tela.add(rotulo7);
		tela.add(caixa7);
		
		final JRadioButton rdbtnNewRadioButton = new JRadioButton("A Vista");
		buttonGroup.add(rdbtnNewRadioButton);
		rdbtnNewRadioButton.setBounds(156, 27, 70, 23);
		getContentPane().add(rdbtnNewRadioButton);
		
		final JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("A Prazo");
		buttonGroup.add(rdbtnNewRadioButton_1);
		rdbtnNewRadioButton_1.setBounds(230, 27, 109, 23);
		getContentPane().add(rdbtnNewRadioButton_1);
		
			
		botao1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// Persistir dados
				// inclusão de um novo registro
				double qtdeparcela,valorrecebido,valororcamento,total=0,soma = 0,result = 0;
				qtdeparcela=Integer.parseInt(caixa2.getText());
				valororcamento=Double.parseDouble(caixa3.getText());
				valorrecebido=Double.parseDouble(caixa4.getText());
				
				if (rdbtnNewRadioButton.isSelected()){
					caixa2.setEditable(false);
					caixa6.setEditable(false);
					caixa7.setEditable(false);
					soma = valorrecebido-valororcamento;
					caixa5.setText(""+soma);
				}
				if (rdbtnNewRadioButton_1.isSelected()){	
               
                soma = valorrecebido - valororcamento;
               result = (valororcamento *15)/100;
               result = result + valororcamento;
               total = result/qtdeparcela;
               caixa6.setText(""+total);
				caixa5.setText(""+soma);
			caixa7.setText(""+result);
				}}
				
			});
		botao2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// cria nova janela
				
				dispose();
		        
		         
						}
		});

		
		
		

		// setSize(largura, altura);
		setSize(339, 351);
		setVisible(true);
		setLocationRelativeTo(null);
	}

	public static void main(String[] args) {

		fabricaDeEntidades = Persistence
				.createEntityManagerFactory("TurmaN40PostgreSQL");

		gerenciador = fabricaDeEntidades.createEntityManager();

		CalcularPagamento app = new CalcularPagamento(fabricaDeEntidades, gerenciador);
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	}
}

3 Respostas

rodrigocolasso

Bom dia Daniferreira,

você poderia explicar melhor sua dúvida?

wolmirGarbin

Ola,

Se eu estou certo ele mostra o resultado da seguinte forma: 150.42000000000002

Uma solução é usar DecimalFormat que no seu casa ja tinha no código precisando apenas de alguns ajustes…

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package repostaGuj;

import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;
//import java.text.SimpleDateFormat;
//import java.util.Date;
import javax.swing.*;



//import controle.Utilitarios;

// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção

public class CalculaPagamento extends JFrame {
	private JLabel rotulo1, rotulo2, rotulo3,rotulo4,rotulo5,rotulo6,rotulo7;
	private JTextField caixa2, caixa3,caixa4,caixa5,caixa6,caixa7;
	private JButton botao1, botao2;

	private final ButtonGroup buttonGroup = new ButtonGroup();

	 DecimalFormat df = new DecimalFormat( "#,##0.0#" );

	public CalculaPagamento() {
		super("Pagamento");
		Container tela = getContentPane();

		tela.setLayout(null);


		rotulo1 = new JLabel("Forma de Pagamento:");
		rotulo2 = new JLabel("Qtde de Parcelas");
		rotulo3 = new JLabel("Valor Orçamento");
		rotulo4 = new JLabel("Valor Recebido");
		rotulo6 = new JLabel("Valor por Parcelas:");
		rotulo5 = new JLabel("Diferen\u00E7a:");
		rotulo7 = new JLabel("Valor a Prazo:");
		caixa2 = new JTextField();
		caixa3 = new JTextField();
		caixa4 = new JTextField();
		caixa5 = new JTextField();
		caixa6 = new JTextField();
		caixa7 = new JTextField();

		botao1 = new JButton("Calcular");
		botao2 = new JButton("Fechar");

		// coluna, linha, largura, altura
		rotulo1.setBounds(26, 28, 124, 20);

		botao1.setBounds(26, 278, 100, 20);
		botao2.setBounds(136, 278, 90, 20);


		rotulo2.setBounds(26, 59, 100, 20);
		caixa2.setBounds(160, 59, 70, 20);

		rotulo3.setBounds(26, 90, 100, 20);
		caixa3.setBounds(160, 90, 70, 20);

		rotulo4.setBounds(26, 121, 100, 20);
		caixa4.setBounds(160, 121, 70, 20);

		rotulo5.setBounds(26, 169, 50, 20);
		caixa5.setBounds(160, 169, 70, 20);

		rotulo6.setBounds(26, 200, 100, 20);
		caixa6.setBounds(160, 200, 70, 20);

		rotulo7.setBounds(26, 231, 218, 20);
		caixa7.setBounds(160, 231, 70, 20);

		tela.add(rotulo1);

		tela.add(rotulo2);
		tela.add(caixa2);

		tela.add(botao1);
		tela.add(botao2);



		tela.add(rotulo3);
		tela.add(caixa3);

		tela.add(rotulo4);
		tela.add(caixa4);

		tela.add(rotulo5);
		tela.add(caixa5);

		tela.add(rotulo6);
		tela.add(caixa6);

		tela.add(rotulo7);
		tela.add(caixa7);

		final JRadioButton rdbtnNewRadioButton = new JRadioButton("A Vista");
		buttonGroup.add(rdbtnNewRadioButton);
		rdbtnNewRadioButton.setBounds(156, 27, 70, 23);
		getContentPane().add(rdbtnNewRadioButton);

		final JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("A Prazo");
		buttonGroup.add(rdbtnNewRadioButton_1);
		rdbtnNewRadioButton_1.setBounds(230, 27, 109, 23);
		getContentPane().add(rdbtnNewRadioButton_1);


		botao1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// Persistir dados
				// inclusão de um novo registro
				double qtdeparcela,valorrecebido,valororcamento,total=0,soma = 0,result = 0;
				qtdeparcela=Integer.parseInt(caixa2.getText());
				valororcamento=Double.parseDouble(caixa3.getText());
				valorrecebido=Double.parseDouble(caixa4.getText());

				if (rdbtnNewRadioButton.isSelected()){
					caixa2.setEditable(false);
					caixa6.setEditable(false);
					caixa7.setEditable(false);
					soma = valorrecebido-valororcamento;
					caixa5.setText(""+ df.format( soma ) );
				}
				if (rdbtnNewRadioButton_1.isSelected()){

                soma = valorrecebido - valororcamento;
               result = (valororcamento *15)/100;
               result = result + valororcamento;
               total = result/qtdeparcela;
               caixa6.setText(""+ df.format( total ) );
				caixa5.setText(""+ df.format( soma )  );
			caixa7.setText(""+ df.format( result ) );
				}}

			});
		botao2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// cria nova janela

				dispose();


						}
		});





		// setSize(largura, altura);
		setSize(339, 351);
		setVisible(true);
		setLocationRelativeTo(null);
	}

	public static void main(String[] args) {

		CalculaPagamento app = new CalculaPagamento();
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                app.setVisible( true );

	}
}
acbit

.

Criado 2 de agosto de 2011
Ultima resposta 3 de ago. de 2011
Respostas 3
Participantes 4