Math类当中常用方法小结

import java.math.BigDecimal;
import java.util.Random;

public class MatheExperse {

	public static void main(String[] args) {
		//进行四舍五入操作
		System.out.println(Math.round(12.5));
		/*
		 * public static double random()
			返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
			第一次调用该方法时,它将创建一个新的伪随机数生成器,与以下表达式完全相同
			
			new java.util.Random
			之后,新的伪随机数生成器可用于此方法的所有调用,但不能用于其他地方。
			此方法是完全同步的,可允许多个线程使用而不出现错误。但是,如果许多线程需要以极高的速率生成伪随机数,那么这可能会减少每个线程对拥有自己伪随机数生成器的争用
		 */
		System.out.println("进行随机数的生成:"+Math.random());
		Random random=new Random();
		System.out.println("生成一个0-10之间的整形随机数:"+random.nextInt(10));
		System.out.println("返回一个数值的绝对值:"+Math.abs(-12));
		System.out.println("对指定的double值类型数据进行向下取整操作:"+Math.floor(12.95));
		System.out.println("对一个指定的数值对象进行向上取整操作:"+Math.ceil(12.015));
		/**
		 * BigDecimal对象是一种比double类型精度还要高的数据类型,常用与金额汇率运算等情况当中
		 * 在对象当中一般所默认进行接收的参数对象为字符串类型
		 */
		BigDecimal bigDecimal=new BigDecimal("12.12346789123456789");
		System.out.println("对bigDecimal类型对象进行输出:"+bigDecimal);
		BigDecimal a=new BigDecimal("10");
		BigDecimal b=new BigDecimal("3");
		System.out.println("进行加法操作:"+a.add(b));
		System.out.println("进行减法操作:"+a.subtract(b));
		System.out.println("进行乘法操作:"+a.multiply(b));
		try
		{
			System.out.println("进行除法操作:"+a.divide(b));
		}
		catch(ArithmeticException e)
		{
			 e.printStackTrace();
			 System.out.println("出现异常:两个BigDecimal类型对象无法整除除尽");
		}
/*		对两个数字进行除法操作,并对最后的结果保留4为位小数进行向上取整操作
 		public static final int ROUND_HALF_UP,即要舍去的部分大于0.5的时候进位否则直接舍去
		“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。如果舍弃部分 >= 0.5,则舍入行为与 ROUND_UP 相同;
		否则舍入行为与 ROUND_DOWN 相同。注意,这是我们大多数人在小学时就学过的舍入模式。
*/		
		System.out.println("重新进行除法操作:"+a.divide(b,4,BigDecimal.ROUND_HALF_UP));
		System.out.println("对BigDecimal类型对象进行四舍五入操作:"+new BigDecimal(15.1234).setScale(0, BigDecimal.ROUND_DOWN));
		System.out.println("对BigDecimal类型对象进行四舍五入操作(向下直接舍去):"+new BigDecimal(15.1234).setScale(3, BigDecimal.ROUND_DOWN));
		System.out.println("对BigDecimal类型对象进行四舍五入操作(向上进行进位):"+new BigDecimal(15.1234).setScale(3, BigDecimal.ROUND_UP));
	}

}

猜你喜欢

转载自blog.csdn.net/qq_34970891/article/details/80667705