篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown BigDecimal / Carga de operadores相关的知识,希望对你有一定的参考价值。
## BigDecimal
BigDecimal es un tipo de varibale que se utiliza para realizar calculos exactos, por lo que es recomendable usarlo
para esto, un ejemplo de cómo se usa es el siguiente:
```
public class Main {
public static void main(String[] args) {
double a = 0.02;
double b = 0.03;
double c = b - a;
System.out.println(c);
//0.009999999999999998
}
}
```
El resultado esperado sería `0.01` pero al hacerlo con el tipo de dato `double/float` obtendremos el resultados `0.009999999999999998`.
Si el valor que se le manda a un `BigDecimal` es un `double/float`, para que sea calculado con exactitud lo que se tiene que hacer es convertir el valor a cadena
por ejemplo:
```
public class Main {
public static void main(String[] args) {
double b = .02;
double d = .03;
BigDecimal _a = new BigDecimal(String.valueOf(b));
BigDecimal _b = new BigDecimal(String.valueOf(d));
BigDecimal _c = _b.subtract(_a);
System.out.println(_c);
//0.01
}
}
```
## Carga de operadores
Cuándo a un objetos se le asigna un valor númerico en java no existe la sobre carga de operadores por lo que no se podría hacer los siguiente:
```
BigDecimal _a = new BigDecimal(6);
BigDecimal _b = new BigDecimal(4);
BigDecimal _c = _b + _a;
```
La solución sería la siguiente:
```
BigDecimal _a = new BigDecimal(String.valueOf(b));
BigDecimal _b = new BigDecimal(String.valueOf(d));
BigDecimal _c = _b.subtract(_a);
```
Se utilizan métodos para poder hacer operaciones entre objetos, se pueden diseñen los métodos a las necesidades del usuario o
se pueden utilicen los métodos que trae por defecto la clase que se este ocupando, en este caso vemos el método `substract()`.
以上是关于markdown BigDecimal / Carga de operadores的主要内容,如果未能解决你的问题,请参考以下文章