Android - Suma con números decimales

 
Vista:

Suma con números decimales

Publicado por Edmar (1 intervención) el 04/03/2019 16:50:21
Buenos días a todos,

Quiero que me ayuden a realizar la suma de dos números decimales para la aplicación de una calculadora en Android Studio, soy nuevo en esto. Lo que sucede es que la aplicación sí realiza la suma pero en ciertos casos cuando hago la suma me aparecen más números de los que debería, por ejemplo: 2.22 + 3.33 = 5.550000000000001, me aparecen todos esos ceros y el uno, ¿cómo puedo solucionar eso? También quiero mencionar que los dos campos en donde se colocan los números para realizar la suma son EditText del tipo Number (Decimal) porque de lo contrario no me aceptaba poner números decimales

Aquí el código fuente que estoy usando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.example.calculadora1;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
 
public class MainActivity extends AppCompatActivity {
 
    private EditText et1, et2;
    private TextView tv1;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        et1 = (EditText)findViewById(R.id.txt_número1);
        et2 = (EditText)findViewById(R.id.txt_número2);
        tv1 = (TextView)findViewById(R.id.txt_resultado);
    }
 
    //Este método realiza la suma
    public void Sumar(View view){
        String valor1 = et1.getText().toString();
        String valor2 = et2.getText().toString();
 
        double núm1 = Double.parseDouble(valor1);
        double núm2 = Double.parseDouble(valor2);
 
        double suma = núm1 + núm2;
 
        String resultado = String.valueOf(suma);
        tv1.setText(resultado);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco
Val: 412
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Suma con números decimales

Publicado por Francisco (342 intervenciones) el 04/03/2019 20:06:35
No lo he probado pero es algo asi:

1
2
3
4
5
6
7
8
tv1.setText(obtieneDosDecimales(123.5678945));
 
 
private String obtieneDosDecimales(float valor){
    DecimalFormat format = new DecimalFormat();
    format.setMaximumFractionDigits(2); //Define 2 decimales.
    return format.format(valor);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar