百亿计算器的设计,见笑了~~~~~~~
来源:互联网 发布:数据合并计算怎么做 编辑:程序博客网 时间:2024/05/03 12:53
进行大数操作,一般就是使用BigDecimal和BigInteger,下面附上官方文档说明首先要使用java.math下的两个类.
整形大数的加减乘除
import java.math.BigInteger;public class dashu {public static void main (String args[]){ String num="10000000000000000000000000000000000000000000"; String num2="999999999999999999999999999999999999999999"; BigInteger bigdashu1=new BigInteger(num);//实例化BigInteger对象 BigInteger bigdashu2=new BigInteger(num2); System.out.println("加法操作"+bigdashu1.add(bigdashu2)); System.out.println("减法操作"+bigdashu1.subtract(bigdashu2)); System.out.println("乘法操作"+bigdashu1.multiply(bigdashu2)); System.out.println("除法操作"+bigdashu1.divide(bigdashu2)); BigInteger dashu[]=bigdashu1.divideAndRemainder(bigdashu2);//余数 System.out.println("相除之后的商是"+dashu[0]); System.out.println("相除之后的余数是"+dashu[1]);} }
加法操作10999999999999999999999999999999999999999999减法操作9000000000000000000000000000000000000000001乘法操作9999999999999999999999999999999999999999990000000000000000000000000000000000000000000除法操作10相除之后的商是10相除之后的余数是10
在进行除法操作的时候,会有余数的存在,这个时候要使用divdeAndRemainder(),这个方法返回一个数组.
下面进行浮点型大数操作:
import java.math.BigDecimal;import java.math.BigInteger;class math{ public static double add(String num1,String num2){ BigDecimal dashu1=new BigDecimal(num1); BigDecimal dashu2=new BigDecimal(num2); return dashu1.add(dashu2).doubleValue(); } public static double subtract(String num1,String num2){ BigDecimal dashu1=new BigDecimal(num1); BigDecimal dashu2=new BigDecimal(num2); return dashu1.subtract(dashu2).doubleValue(); } public static double multiply(String num1,String num2){ BigDecimal dashu1=new BigDecimal(num1); BigDecimal dashu2=new BigDecimal(num2); return dashu1.multiply(dashu2).doubleValue(); } public static double divide(String num1,String num2,int scale){ BigDecimal dashu1=new BigDecimal(num1); BigDecimal dashu2=new BigDecimal(num2); return dashu1.divide(dashu2,2,BigDecimal.ROUND_UP).doubleValue(); } public static double round(double num,int scale){//进行四舍五入操作 BigDecimal dashu1=new BigDecimal(num); BigDecimal dashu2=new BigDecimal(1);//全都除以1 return dashu1.divide(dashu2,2,BigDecimal.ROUND_UP).doubleValue(); }};public class fudiandashu {public static void main (String args[]){ String num1="1546788.965"; String num2="9.953"; System.out.println("加法操作"+math.round(math.add(num1, num2),2)); System.out.println("减法操作"+math.round(math.subtract(num1, num2),2)); System.out.println("乘法操作"+math.round(math.multiply(num1, num2),2)); System.out.println("除法操作"+math.divide(num1,num2,2));} }
加法操作1546798.92减法操作1546779.02乘法操作1.539519057E7除法操作155409.33
碰到大数的操作基本就是这样,下面附上divide()方法的文档说明
- 百亿计算器的设计,见笑了~~~~~~~
- 请设计一个一百亿的计算器
- 请设计一个一百亿的计算器
- 请设计一个一百亿的计算器
- 设计一个一百亿的计算器
- 请设计一个一百亿的计算器
- 设计一个一百亿的计算器
- 请设计一个一百亿的计算器
- 设计一个一百亿的计算器
- 设计一个一百亿的计算器
- 一百亿的计算器
- 关于思考设计一个一百亿的计算器
- [面试题]设计一个一百亿的计算器
- 面试题-请设计一个一百亿的计算器
- 一个一百亿的计算器的实现
- 一个一百亿的计算器的实现
- 今天用手绘板画了一个simple的,见笑老
- VB6简单的记事本程序,高手见笑了!
- STRUTS2获得session
- chapter 6.2: 驱动对象
- Hibernate 第十讲 表关联关系(三)单向项一对一主键关联
- 关于计算机图形学的学习的书籍推荐
- Json 数据格式与使用
- 百亿计算器的设计,见笑了~~~~~~~
- C语言基本小题
- chapter 6.3: Device Objects
- Activity的启动流程
- poj 1050 To the Max(动态规划处理二维最大子段和)
- flex页面跳转-viewStack(2)-强制页面初始化
- Android 仿艺龙酒店首页两个Activity页面同时动画
- Activity的启动流程(二)
- 理论与应用,我的看法开始变了。