lunes, 12 de diciembre de 2016

EuroConversor

Se trata de hacer un euroconversor en ambos sentidos, es decir, tendremos un botón para pasar euros a pesetas y otro botón para pasar pesetas a euros. 
Además tendrás que incluir un botón para poder limpiar las casillas donde se introducen los euros y las pesetas.

 En este caso utilizaremos un JFrame con dos cajas de texto y dos botones, algo así:




Descarga el proyecto aquí. (NetBeans)

SOLUCIÓN EN JAVA:
import java.text.DecimalFormat;
import javax.swing.JOptionPane;

public class Principal extends javax.swing.JFrame {

    public Principal() {
        initComponents();
    }
                 

    private void BEurosPesetasMouseClicked(java.awt.event.MouseEvent evt) {                                           
        //Leer los euros de la casilla "euros", multiplicar 166,386 
        //y mostrar en la casilla "pesetas"
        float euros,pesetas;
        int pesetas_redondeadas;
        
        try{
            //Leo la información del campo Euros del formulario
            euros=Float.parseFloat(TEuros.getText());
            //Hago la conversión y redondeo
            pesetas=euros*(float)166.386;
            pesetas_redondeadas=Math.round(pesetas);
            //Muestro las pesetas equivalente en el campo Pesetas el formulario
            TPesetas.setText(String.valueOf(pesetas_redondeadas));            
        } catch (NumberFormatException ex){
            JOptionPane.showMessageDialog(rootPane, "Revisa el campo Euros");
        }
      
    }                                          

    private void BPesetasEurosMouseClicked(java.awt.event.MouseEvent evt) {                                           
        float euros,pesetas;
        DecimalFormat formateador;
        String numero;
        
        try{
            //Leo la información del campo Pesetas del formulario
            pesetas=Integer.parseInt(TPesetas.getText());
            //Hago la conversión a euros y redondeo a dos decimales
            euros=pesetas/(float)166.386;
            formateador = new DecimalFormat("###.##");                        
            numero=formateador.format(euros);
            //Hago esta conversión para que ponga un punto de separación de miles en lugar de una ,
            numero=numero.replace(",",".");
            TEuros.setText(numero);
        } catch (NumberFormatException ex){
            JOptionPane.showMessageDialog(rootPane, "Revisa el campo Pesetas");
        }
    }                                          

    private void BLimpiarMouseClicked(java.awt.event.MouseEvent evt) {                                      
        //Pongo los dos cuadros de texto a cero
        TEuros.setText("0.00");
        TPesetas.setText("0");
    }                                     

                
}

No hay comentarios:

Publicar un comentario