java中处理大型int数据(加、减、乘、除)
来源:互联网 发布:linux 终端乱码 编辑:程序博客网 时间:2024/06/06 16:36
在编程中往往会遇到大型整型数据作加、减、乘、除运算。单定义int类型往往对变量的长度有局限性,往往得不到想要的结果。这时在java中math类提供BigDecimal方法可以解决这类问题。
以下是在main中测试的小例子:
减法:
String a="1000000000";
String b="2000000000";
BigDecimal a1 = new BigDecimal(a);
BigDecimal b1 = new BigDecimal(b);
BigDecimal c = b1.subtract(a1);
System.out.println(c);
结果:
加法:
以下是对double类型做浮点运算操作:java代码如下
//BigDecimal 对double类型数据进行精确计算
/**
* 做加法
*/
public static double add(double a,double b){
BigDecimal a1=new BigDecimal(a);
BigDecimal b1=new BigDecimal(b);
return a1.add(b1).doubleValue();
}
/**
* 做减法
*/
public static double sub(double a,double b){
BigDecimal a1=new BigDecimal(a);
BigDecimal b1=new BigDecimal(b);
return a1.subtract(b1).doubleValue();
}
/**
* 做乘法
*/
public static double mul(double a, double b){
BigDecimal a1 = new BigDecimal(a);
BigDecimal b1 = new BigDecimal(b);
return a1.multiply(b1).doubleValue();
}
/**
* 除法
*/
public static double div(double a,double b,int len) {
BigDecimal a1 = new BigDecimal(a);
BigDecimal b1 = new BigDecimal(b);
return a1.divide(b1,len,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 四舍五入
*/
public static double round(double a,int len) {
BigDecimal b1 = new BigDecimal(a);
BigDecimal b2 = new BigDecimal(1);// 任何一个数字除以1都是原数字
return b1.divide(b2, len,BigDecimal.ROUND_HALF_UP).doubleValue(); // ROUND_HALF_UP是BigDecimal的一个常量,表示进行四舍五入的操作
}
public static void main(String[] args) {
System.out.println(add(223.20, 45.20));
}
- java中处理大型int数据(加、减、乘、除)
- Java中Double型数据的加,减,乘,除
- java实现大数加、减、乘、除
- 模拟笔算 (加 减 乘 除)
- 加、减、乘、除(四则运算)
- 大数 加 减 乘 除
- Linux 加,减,乘,除
- BigDecimal 类型数据的加、减、乘、除以及格式化
- C语言中,位运算完成 加、减、乘、除
- java String实现加,减,乘,除运算。
- java 浮点数的加、减、乘、除工具类
- 研究Ajax(二)WebService实现加 减 乘 除
- C++高精度(加/减/乘/除)【封装】
- linux下的shell运算(加、减、乘、除)
- 矩阵运算(加,减,乘,除,快速幂)
- linux下的shell运算(加、减、乘、除)
- matlab-线性代数 加、减、乘、除(矩阵单元素)
- js中的加、减、乘、除(适用于所有场景)
- 不通过第三个变量来交换两个变量的值
- JSP的内置对象及方法
- 奥巴马成功连任美国总统
- Servlet实例
- 编程练习
- java中处理大型int数据(加、减、乘、除)
- 标准输入、输出、错误设备
- 我的疑惑
- ubuntu安装SSH
- 在Ubuntu上安装指定版本gcc的一点启示
- Hibernate Note
- C++和Object-C混合编程
- 比赛 (long double 与fixed)
- Linux 标准IO带缓冲 ,read,write函数不带缓冲