java.math包中提供了两个大数字操作类:BigInteger(大整数操作类) BigDecimal(大小数操作类).

  • 大整数操作类:BigInteger

BigInteger类构造方法:public BigInteger(String val)

常用方法:public BigInteger add(BigInteger val)

public BigInteger subtract(BigInteger val)

public BigInteger multiply(BigInteger val)

public BigInteger divide(BigInteger val)

public BigInteger[] divideAndRemainder(BigInteger val):第一个数是商第二个数为余数

public BigInteger pow(int exponent)返回其值为 (thisexponent) 的 BigInteger。注意,exponent 是一个整数而不是 BigInteger。

以上代码在实际运用中用途并不大,在工作中如果遇到数学问题记得找第三方的开发包。

  • 大小数操作类:BigDecimal

基本方法和操作和BigInteger相同,但BigDecimal扩展了一个非常重要的方法:

Math类中的round()方法进行四舍五入操作过程中采用的是将小数点全部省略的做法,但这种做法在实际用途中并不可取。所以Math.roucnd()是一个没什么实际用途的方法,这时候只能利用BigDecimal类完成。

BigDecimal中提供了一个除法操作:public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)

divisor:被除数

scale:保留的小数位数

roundingMode:进位模式

(public static final int ROUND_HALF_UP  

public static final int ROUND_HALF_DOWN

class MyMath{
public static double round(double num,int scale){
BigDecimal big=new BigDecimal(num);
BigDecimal res=big.divide(new BigDecimal(1), scale, BigDecimal.ROUND_HALF_UP);//四舍五入所以括号中使用new BigDecimal(1)
return res.doubleValue();
}
}
public class BigDecimalDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(MyMath.round(178.1436534, 6));
System.out.println(MyMath.round(178.1436534, 3));
System.out.println(MyMath.round(178.1436534, 0));
}
}

java学习笔记——大数据操作类的更多相关文章

  1. java学习笔记07--日期操作类

    java学习笔记07--日期操作类   一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...

  2. java学习笔记之日期日历类

    java学习笔记之日期日历 Date日期类概述: 表示特定的瞬间,精确到毫秒 Date类的构造方法: 1.空参数构造方法 Date date = new Date(); 获取到当前操作系统中的时间和日 ...

  3. java学习笔记25(Collections类)

    Collections算法类: Collections是一个算法类,提供了一系列静态方法,实现对集合的排序.替换.交换.搜索.拷贝等操作: 用法:Collections.方法名(要操作的集合): 就像 ...

  4. Java学习笔记 05 数据包装类

    一.包装类 综述 >>java.lang包中的Integer类.Long类和Short类,分别将基本数据类型int.long和short封装成一个类.这些类都是Number的子类. Int ...

  5. 吴裕雄--天生自然java开发常用类库学习笔记:日期操作类DataFormat、SimpleDataFormat

    import java.text.DateFormat ; import java.util.Date ; public class DateDemo03{ public static void ma ...

  6. Java 学习笔记(14)—— 文件操作

    java文件操作主要封装在Java.io.File中,而文件读写一般采用的是流的方式,Java流封装在 java.io 包中.Java中流可以理解为一个有序的字符序列,从一端导向到另一端.建立了一个流 ...

  7. Java学习笔记24(Integer类)

    这里介绍基本数据类型包装类,Integer是int的包装类, 其他的基本数据类型的包装类的方法和Integer的方法几乎一致,会一种即可全会 基本数据类型包装类的特点:用于在基本数据类型和字符串之间进 ...

  8. Java学习笔记七——数组工具类Arrays

    数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> ...

  9. PHP学习笔记7-JSON数据操作

    JSON,全称是JavaScript Object Notation.它是基于JavaScript编程语言ECMA-262 3rd Edition-December 1999标准的一种轻量级的数据交换 ...

随机推荐

  1. UVaLive5059 Playing With Stones

    数学问题 博弈 SG函数 我总觉得这题做过的……然而并没有记录 看上去是一个nim游戏的模型. 手推/打表找一下前几项的规律,发现x是偶数时,sg[x]=x/2,x是奇数时,sg[x]=sg[x di ...

  2. [ CodeVS冲杯之路 ] P1017

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1017/ 看到题目最下面有一个喜人的提示 那这就意味着我们不用写高精度了是不是,直接开 long long 存 设 f[ ...

  3. 学习webservice

    客户端测试页: WebService代码: using System; using System.Collections.Generic; using System.Linq; using Syste ...

  4. C# WeakReference(弱引用)

    WeakReference(弱引用)我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的.我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET中提供了Wea ...

  5. Grep查看日志的方法【转】

    转自:http://blog.csdn.net/stormkey/article/details/5905204 版权声明 :转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://go ...

  6. linux下搭建SVN服务器完全手册【转】

    转自:http://blog.csdn.net/bullbat/article/details/9115559 系统环境        RHEL5.4最小化安装(关iptables,关selinux) ...

  7. resin启动问题

    启动resin时报错如下: Resin/4.0.28 can't restart -server 'app-0'. com.caucho.bam.RemoteConnectionFailedExcep ...

  8. [BZOJ2152]聪聪可可 点分治/树形dp

    2152: 聪聪可可 Time Limit: 3 Sec  Memory Limit: 259 MB Submit: 3602  Solved: 1858 [Submit][Status][Discu ...

  9. AC日记——Count on a tree II spoj

    Count on a tree II 思路: 树上莫队: 先分块,然后,就好办了: 来,上代码: #include <cmath> #include <cstdio> #inc ...

  10. NIO入门之BIO

    传统BIO编程 网络编程的基本模型是Client-Server模型,也就是两个进程之间相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的端口发起连接请求,通 ...