Java笔记
来源:互联网 发布:电信运营商的网络架构 编辑:程序博客网 时间:2024/05/19 17:47
BigInteger
用来处理大数据
public void test(){ long sum = 1; for(int i = 1; i <= 21; i++){ sum *= i; } System.out.println(sum);}
输出结果:-4249290049419214848
因为已经超出了long允许的范围
这种情况就要使用BigInteger,他是java.math包下的一个类
public void test(){ BigInteger sum = BigInteger.valueOf(1); for(int i = 1; i<=21; i++){ BigInteger bi = BigInteger.valueOf(i); sum = sum.multiply(bi); } System.out.println(sum);}
输出结果:51090942171709440000
BigDecimal
处理二进制运算导致的误差
public void test(){ System.out.println(2.0 - 1.1);}
输出结果:0.8999999999999999
如果要解决这种问题,就要用到BigDecimal类,它是java.math 包下的一个类
public void test(){ BigDecimal b1 = new BigDecimal("2.0");//创建BigDecimal对象时,必须使用String构造器 BigDecimal b2 = new BigDecimal("1.1"); BigDecimal b3 = b1.subtract(b2); System.out.println(b3);}
输出结果:0.9
阅读全文
0 0
- java笔记
- JAVA笔记
- java笔记
- java笔记
- JAVA笔记
- java笔记
- Java 笔记
- java笔记
- java 笔记
- java笔记
- java笔记
- java笔记
- Java笔记
- java笔记
- java笔记
- Java笔记
- java笔记
- java笔记
- DATAV初体验
- JAVA Android 字符串是否相等使用equals方法
- 关于前端优化的几个建议
- 让禅道使用本地数据库 而不使用禅道自带的数据库
- 第一次作业
- Java笔记
- aix的lvm管理
- 【bzoj1146】 [CTSC2008]网络管理Network
- STL常用算法
- 戴尔XPS 13 Ubuntu 16.04 Chrome浏览器闪屏问题解决办法
- 确定的有限自动机VS非确定的有限自动机(DFANFA)
- 对Android APP的各种样式统一修改方法(这里列举了通知状态栏StatueBar,标题栏ActionBar,ToolBar和按钮Button的样式修改)
- 我的第一次div布局
- Ubuntu16.04LTS 安装搜狗输入法