Java--------BigDecimal类
BigDecimal类位于java.lang.Number包下,BigDecimal类主要提供算术、舍入和格式转换等操作。
BigDecimal的常见方法
方法名 | 功能 |
---|---|
add(BigDecimal augend) | 加法操作 |
subtract(BigDecimal subtrahend) | 减法操作 |
multiply(BigDecimal multiplicand) | 乘法操作 |
divide(BigDecimal divisor, int scale, int roundingMode) | 除法操作 |
import java.math.BigDecimal;
import java.util.Scanner;
public class Test1_BigDecimal {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要计算的第一个小数:");
double a = sc.nextDouble();
System.out.println("请输入您要计算的第二个小数:");
double b = sc.nextDouble();
/**1.最好不要使用double作为参数的构造函数,不然还会产生不精确的现象,有坑!*/
/**2.最好使用的是重载的参数类型的String的构造函数
* double转String,直接拼个空串就可以*/
BigDecimal bd1 = new BigDecimal(a+"");
BigDecimal bd2 = new BigDecimal(b+"");
//通过BigDecimal的方法,做精确运算
BigDecimal bd3;
bd3 = bd1.add(bd2);
System.out.println(bd3);
bd3 = bd1.subtract(bd2);
System.out.println(bd3);
bd3 = bd1.multiply(bd2);
System.out.println(bd3);
// 参数分别表示:除以谁;要保留几;是舍入方式
bd3 = bd1.divide(bd2, 3, BigDecimal.ROUND_HALF_UP);
System.out.println(bd3);
}
}