0

Estoy haciendo algunas sumas con float y de pronto me aparece esto:

introducir la descripción de la imagen aquí

Los decimales se vuelven locos. ¿Como puedo evitar esto? La suma la hago de esta manera:

public void sumarTodo(){
    Float totalCuadros = 0f;
    for (ContenedorDeFila cF : listContenedorFila) {
        totalCuadros+=cF.getCantidadAgreadaPorUsuario();
    }

    totalCuadros = cantidadTotalSalida -totalCuadros;
    etiquetaSalidaRestante.setText( totalCuadros+"");

}

Esta es la parte que obtiene el texto y lo convierte en float:

KeyAdapter k = new KeyAdapter() {

            @Override
            public void keyReleased(KeyEvent e) {
                JTextField t = (JTextField)e.getComponent();
                String texto = t.getText();
                if (!texto.isEmpty()) {
                    cantidadAgreadaPorUsuario = Float.parseFloat(texto);
                }else{
                    cantidadAgreadaPorUsuario = 0f;
                }
                r.run();
            }
Legna
  • 5,711
  • 3
  • 15
  • 44
  • Hola.. te la marque como duplicada aunque no es exactamente la misma pregunta.. pero hay una explicacion sobre el problema ahi... – gbianchi Sep 26 '17 at 16:39
  • @gbianchi gracias. Probare con `BigDecimal` – Legna Sep 26 '17 at 17:07
  • Creo que [esta respuesta](https://es.stackoverflow.com/a/93015/29967) te puede ser de utilidad. Es más específica de Java y además habla de la clase `Money`, la cual puede ser de tu interés en este caso o en otros. – A. Cedano Sep 26 '17 at 17:16
  • Gracias @A.Cedano. Me pase a leer la respuesta y me decante por `BigDecimal`. – Legna Sep 26 '17 at 17:27

0 Answers0