Java中对大数的操作
来源:互联网 发布:mysql数据库导入导出 编辑:程序博客网 时间:2024/06/05 03:49
1.整型大数类(BigInteger):
//构造:BigInteger(String val) 将 BigInteger的十进制字符串表示形式转换为 BigInteger//对象.toString(int radix) 返回此 BigInteger 的给定基数的字符串表示形式//对象.pow(int exponent) 返回其值为 (thisexponent) 的 BigInteger //除此还有max,min,mod,gcd最大公约数,add,subtract,mutiply,divide等import java.math.BigInteger;//BigInteger类public class BigIntegerDemo {public static void main(String[] args) {BigInteger bi1 = new BigInteger("987654321");//构造方法,将字符串转换为BigInteger类BigInteger bi2 = new BigInteger("123456789");System.out.println("加法:" + bi1.add(bi2));//调用add()方法System.out.println("减法:" + bi1.subtract(bi2));System.out.println("乘法:" + bi1.multiply(bi2));System.out.println("除法:" + bi1.divide(bi2));System.out.println("取余:" + bi1.mod(bi2));//public BigInteger[] divideAndRemainder(BigInteger val)返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组BigInteger div[] = bi1.divideAndRemainder(bi2);System.out.println("商余除法:商:" + div[0] + ",余:" + div[1]);System.out.println("bi1的5次方为:" + bi1.pow(5));}}
1.浮点型大数类(BigDecimal):
//构造://BigDecimal(BigInteger val) 将 BigInteger 转换为 BigDecimal。//BigDecimal(String val) 将 BigDecimal 的字符串表示形式转换为 BigDecimal,还可以int double long//方法://对象.toString()返回此 BigDecimal 的字符串表示形式,如果需要指数,则使用科学记数法//对象.toPlainString() 返回不带指数字段的此 BigDecimal 的字符串表示形式。//对象.stripTrailingZeros() 返回数值上等于此小数,但从该表示形式移除所有尾部零的 BigDecimal。//对象.BigDecimal add(BigDecimal augend) 返回一个 BigDecimal,其值为 (this + augend),其标度(精度)为 max(this.scale(), augend.scale())。 import java.math.BigDecimal;public class BigDecimalDemo {public static void main(String[] args) {BigDecimal bi1 = new BigDecimal(2345.6789);//将double类型转换为BigDecimal类型BigDecimal bi2 = new BigDecimal(98765.4321);System.out.println("BigDecimal类型转换为double类型:" + bi1.doubleValue());//将BigDecimal类型转换为double类型System.out.println("加法:" + bi1.add(bi2).doubleValue());//add()方法返回值类型是BigDecimal类型需要转换为doubleSystem.out.println("减法:" + bi1.subtract(bi2).doubleValue());System.out.println("乘法:" + bi1.multiply(bi2).doubleValue());//divide(对象,保留的位数,四舍五入的常量) 除法方法的应用System.out.println("BigDecimal.ROUND_HALF_UP=" + BigDecimal.ROUND_HALF_UP);System.out.println("除法:" + bi2.divide(bi1,BigDecimal.ROUND_HALF_UP).doubleValue());//未四舍五入System.out.println("除法:" + bi2.divide(bi1,3,BigDecimal.ROUND_HALF_UP).doubleValue());//保留三位小数BigDecimal bi3 = new BigDecimal("12345.6789");//将String类型转换为BigDecimal类型BigDecimal bi4 = new BigDecimal("98765.4321111");System.out.println("加法:" + bi3.add(bi4).doubleValue());//add()方法返回值类型是BigDecimal类型需要转换为doubleSystem.out.println("除法:" + bi4.divide(bi3,BigDecimal.ROUND_HALF_UP).toEngineeringString());System.out.println("BigDecimal类型转换为EngineeringString类型:" + bi3.toEngineeringString());}}
更多构造及方法请点此处查找:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
0 0
- Java中对大数的操作
- 黑马程序员——java中对大数的处理
- 在ACM中Java关于大数的一些相关操作
- 在ACM中Java关于大数的一些相关操作
- Java中对文件的操作
- Java中对文件的操作
- Java中对文件的操作
- Java中对文件的操作(转)
- Java中对文件的操作
- Java中对 [文件] 的操作示例
- Java 中对文件的读写操作
- Java中对文件的操作
- Java中对时间的操作
- Java中对文件的操作
- Java中对文件的操作
- Java中对文件的操作
- Java中对文件的操作!
- Java中对文件的操作
- CF 782C 贪心,DFS染色,水题
- MySQL5.6新特性之crash-safe slaves
- 大数据storm视频教程完整版
- ES6新属性笔记_0
- Disruptor
- Java中对大数的操作
- 安装好vs 2010 后不能创建项目,如何解决?
- NSURLConnection三种请求方式
- DanmakuFlameMaster缓存机制解析
- 获取某年的某天是第几周
- ajax请求 json
- 2017.0306 算法工程师机器学习第二面
- 15年双11手淘 H5性能最佳实践
- iOS 图片验证码