java中数据计算_java 中数据计算

在编码的时候,偶尔会进行数字计算,编码完成后,编译、运行,自己测试,都通过了,但是上生产环境后,一天或者一个星期没问题,可能有一天会出错,查看日志,原来是内存溢出,原来是数字溢出。代码如果写严谨一点就应该发现在java程序中有与数据类型有长度限制,所以一般数字计算都不用原始数据类型,需要转换成BigInteger或者BigDecimal。

源码如下:

package com.think.cla;

import java.math.BigDecimal;

import java.math.BigInteger;

public class BigNumberMath {

public void NumberMath(int x,int y ,double i,double j){

// 加法运算

BigInteger numintj = BigInteger.valueOf(x).add(BigInteger.valueOf(y));

BigDecimal numdouj = BigDecimal.valueOf(i).add(BigDecimal.valueOf(j));

//减法运算

BigInteger numintjj = BigInteger.valueOf(x).subtract(BigInteger.valueOf(y));

BigDecimal numdoujj = BigDecimal.valueOf(i).subtract(BigDecimal.valueOf(j));

//乘法运算

BigInteger numintc = BigInteger.valueOf(x).multiply(BigInteger.valueOf(y));

BigDecimal numdouc = BigDecimal.valueOf(i).multiply(BigDecimal.valueOf(j));

//除法运算

BigInteger numintcc = BigInteger.valueOf(x).divide(BigInteger.valueOf(y));

BigDecimal numdoucc = BigDecimal.valueOf(i).divide(BigDecimal.valueOf(j));

System.out.println("整数数据相加:"+numintj);

System.out.println("精度数据相加: "+numdouj);

System.out.println("整数数据相减:"+numintjj);

System.out.println("精度数据相减: "+numdoujj);

System.out.println("整数数据相乘:"+numintc);

System.out.println("精度数据相乘: "+numdouc);

System.out.println("整数数据相除:"+numintcc);

System.out.println("精度数据相除: "+numdoucc);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值