简单提一下命名
大数值
BigInteger
java.math.BigInteger是不可变的任意精度的大整数。
字符串参数构造方法
- BigInteger(String val):将十进制的字符串转化成BigInteger对象。
- BigInteger(String val):按照指定基数radix将字符串val转化成BigInteger对象。
常用方法
- BigInteger add(BigInteger val):加运算,当前对象数值加参数val
- BigInteger subtract(BigInteger val):减运算,当前对象数值减参数val
- BigInteger multiply(BigInteger val):乘运算,当前对象数值乘参数val
- BigInteger divide(BigInteger val):除运算,当前对象数值除以参数val
代码实现
package BigData;
import java.math.BigInteger;
public class _BigInteger {
public static void main(String[] args) {
String val="99999999999999";
String st="11";
//用反射得到包的来源
System.out.println("val的包的类型是:"+val.getClass());
//创建BigInteger,字符串表示的是十进制的数
BigInteger number1=new BigInteger(val);
System.out.println("number1的包的类型"+number1.getClass());
//把以前的字符串,看成2进制的,转化成十进制
BigInteger number2=new BigInteger(st,2);
System.out.println("number2="+number2);
/*下面进行一些四则运算*/
System.out.println("加法操作:"+number1.add(number1));
System.out.println("减法操作:"+number1.subtract(number2));
System.out.println("乘法操作:"+number1.multiply(number2));
System.out.println("除法操作:"+number1.divide(number2));
}
}
效果
BigDecimal
java.math.BigDecimal是不可变的任意精度的有符号十进制数
常用的构造方法
- BigDecimal(BigInteger val):将BigInteger对象val转换为BigDecimal对象。
- BigDecimal(doubleval):将double转换为BigDecimal对象,参数val是double类型的二进制浮点值准确的十进制表示形式。
- BigDecimal(int val):将int转换为BigDecimal对象。
- BigDecimal(long val):将long转换为BigDecimal对象。
- BigDecima(String val):将字符串表示数值形式转换为BigDecimal对象
常用方法
- int compare To(BigDecimal
val):将当前对象与参数val进行比较,方法返回值是int,如果返回值是0,则相等;如果返回值小于0,则此对象小于参数对象;如果返回值大于0,则此对象大于参数对象。 - BigDecimal add(BigDecimal val):加运算,当前对象数值加参数val。
- BigDecimal subtract(BigDecimal val): 减运算, 当前对象数值减参数val
- BigDecimal multiply(BigDecimal val):乘运算,当前对象数值乘参数val。
- BigDecimal divide(BigDecimal val):除运算,当前对象数值除以参数val。
- BigDecimal divide(BigDecimal val, int roundingMode): 除运算,当前对象数值除以参数val。roundingMode要应用的舍入模式。
代码
package BigData;
import java.math.BigDecimal;
public class _BigDecimal {
public static void main(String[] args) {
BigDecimal number1=new BigDecimal("999999999.99988888");
BigDecimal number2=new BigDecimal("567800000.888888");
System.out.println("加法操作:"+number1.add(number2));
System.out.println("减法操作:"+number1.subtract(number2));
System.out.println("乘法操作:"+number1.multiply(number2));
System.out.println("除法操作:"+number1.divide(number2,BigDecimal.ROUND_HALF_UP));
}
}
效果