我是靠谱客的博主 个性树叶,最近开发中收集的这篇文章主要介绍Java 学习之BigInteger和BigDecimal,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

package javaObject;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;

public class javaMath {
	public static void main(String[] args) {
	
		 /*
		  * BigInteger用于表示任意大小的整数
		  * 把BigInteger转换成基本类型
		  * 如果BigInteger表示的范围超过了基本类型的范围,转换时将丢失高位信息,即结果不一定是准确的。
		  * 如果需要准确地转换成基本类型,可以使用intValueExact()、longValueExact()等方法,在转换时如果超出范围,将直接抛出ArithmeticException异常。
		  */
		 System.out.println(Math.pow(99999, 5));
		 BigInteger maxNum = new BigInteger("99999");
		 BigInteger powMaxNum = maxNum.pow(5);
		 System.out.println(powMaxNum);
		 System.out.println(powMaxNum.intValue());
		 System.out.println(powMaxNum.shortValue());
		 System.out.println(powMaxNum.floatValue());
		 System.out.println(powMaxNum.doubleValue());
		 System.out.println(powMaxNum.longValue());
//		 System.out.println(powMaxNum.intValueExact()); // 抛出异常 BigInteger out of int range
		 
		 /*
		  * BigDecimal可以表示一个任意大小且精度完全准确的浮点数
		  * BigDecimal用于表示精确的小数,常用于财务计算
		  * 比较BigDecimal的值是否相等,必须使用compareTo()而不能使用equals()
		  * 
		  * 
		  * 
		  */
		 System.out.println();
		 BigDecimal decimalValue1 = new BigDecimal("99999.80100");
		 BigDecimal decimalValue2 = new BigDecimal("122.984558");
		 System.out.println(decimalValue1 + ", " + decimalValue2);
		 System.out.println("整数:" + decimalValue1.intValue() + ", " + decimalValue2.intValue());
		 System.out.println("小数位数:" + decimalValue1.scale() + ", " + decimalValue2.scale());
		 System.out.println(decimalValue1 + ", 去掉小数末尾0:" + decimalValue1.stripTrailingZeros());
		 System.out.printf("四舍五入:%sn", decimalValue2.setScale(4, RoundingMode.HALF_UP));
		 System.out.printf("截断:%sn", decimalValue2.setScale(4, RoundingMode.DOWN));
		 // 比较
		 System.out.println("错误比较:" + decimalValue1.equals(decimalValue2));
		 System.out.println("正确比较【1大于,0等于,-1小于】:" + decimalValue2.compareTo(decimalValue1));
		 // 计算
		 BigDecimal[] value = decimalValue1.divideAndRemainder(decimalValue2);
		 System.out.println("商:" + value[0] + ", 余数:" + value[1]);
	
	}
}

最后

以上就是个性树叶为你收集整理的Java 学习之BigInteger和BigDecimal的全部内容,希望文章能够帮你解决Java 学习之BigInteger和BigDecimal所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部