Hola, no se si me puedan ayudar con dos cosas, la primera es por que al hacer una resta en java con doubles por ejemplo 15.2-15.0 el resultado es 0.1999999999996 .
La segunda, me dejaron hacer un programa para corregir el error y ademas desplegar el resultado con un cierto numero de decimales, por ejemplo:
15.2 - 15.0 con dos decimales = 0.20
El programa que hice es el siguiente, pero no se como hacer lo de el numero de decimales.
Código:
import java.math.*;
public class RedondeoSBC
{
public static void main (String[] args)
{
double aux1,aux2;
double d1 = Double.parseDouble( args[1] );
double d2 = Double.parseDouble( args[2] );
int i = Integer.parseInt( args [0] );
aux1 = Double.parseDouble(redondeaDecimales(d1,i));
aux2 = Double.parseDouble(redondeaDecimales(d2,i));
double d3 = aux1-aux2;
System.out.println("Resta= "+d3);
}
public static String redondeaDecimales(double valorSinRedondear, int numeroDeDecimales)
{
BigDecimal bd = new BigDecimal(valorSinRedondear);
bd = bd.setScale(numeroDeDecimales, BigDecimal.ROUND_HALF_UP);
String string = bd.toString();
return string;
}
}
Espero su respuesta.