当前位置: 代码迷 >> 综合 >> BigInteger BigDecimal
  详细解决方案

BigInteger BigDecimal

热度:68   发布时间:2023-10-19 04:48:39.0

BigInteger

1、大数的构造函数

(1)public BigInteger(String val)
(2)public BigInteger(String val, int radix) :将radix进制的字符串转化为十进制的BigInteger
(3)BigInteger(byte[]):把一个包含着正负号整数的二进制补码的字节数组翻译成BigInteger
(4)public BigInteger(int signum, byte[] magnitude):signum为符号位 1为正 0为0 -1为负,数组同上

2、大数的操作

(1)加减乘除 取余->remainder()/mod() 取反数 negate()
(2)pow() gcd() abs() max() min()
(3)compareTo() equals()

3、大数的基本常量

(1)BigInteger.ONE
(2)BigInteger.TEN
(3)BigInteger.ZERO

4、大整数的进制转换——m进制的字符串x转换为n进制的数

         Scanner in = new Scanner(System.in);int m, n;BigInteger ans;String x;while(in.hasNext()){m = in.nextInt();n = in.nextInt();x = in.nextLine();x = in.nextLine();ans = new BigInteger(x, m);System.out.println(ans.toString(n));}

BigDecimal

1、构造函数

(1)参数是字符串 - BigDecimal BigDecimal(String s);
//常用,推荐使用 new BigDecimal(String.valueOf(double)) || new BigDecimal(Double.toString(double))
(2)参数是double - static BigDecimal valueOf(double d);
//常用,推荐使用 BigDecimal.valueOf(double)
(3)举例说明
double d = 1.1;
BigDecimal b1 = new BigDecimal(String.valueOf(d));
BigDecimal b2 = new BigDecimal(Double.toString(d));
BigDecimal b3 = BigDecimal.valueOf(d);

2、保留小数位

(1)BigDecimal.setScale(1)
(2)BigDecimal.setScale(1, BigDecimal.ROUND_UP/BigDecimal.ROUND_DOWN/BigDecimal.ROUND_CEILING/…)

3、小数点处理

(1)保留两位小数
方法一:{
double c=3.154215;
java.text.DecimalFormat myformat=new
java.text.DecimalFormat(“0.00”);
String str = myformat.format?;
}
方式二:{
java.text.DecimalFormat df =new
java.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
例:new java.text.DecimalFormat("#.00").format(3.1415926)
#.00 表示两位小数 #.0000四位小数 以此类推…
}
方式三:{
double d = 3.1415926;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
(2)四舍五入
double f = 111231.5585;
BigDecimal b = new BigDecimal(f); //保留2位小数
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

4、几个常用方法

(1)取余:reminder() 求相反数:negate() 比较:compareTo()
(2)add() subtract() multiply() divide()【可设置精度】

  相关解决方案