java常用类Math,BigDecimal

产生10个0~100之间的正整数
package com.bank.demo;
import java.util.Random;
public class TestDemo {
	public static void main(String[] args) throws Exception {
		Random rand = new Random();				// 实例化对象
		for (int x = 0; x < 10; x++) {
			System.out.print(rand.nextInt(101) + "、");	// 不大于101的正整数
		}
	}
}


观察四舍五入操作
package com.bank.demo;
public class TestDemo {
	public static void main(String[] args) throws Exception {
		System.out.println(Math.round(15.5)); 		// 计算结果:16
		System.out.println(Math.round(15.51)); 		// 计算结果:16
		System.out.println(Math.round(15.6)); 		// 计算结果:16
		System.out.println(Math.round(15.2356)); 	// 计算结果:15
		System.out.println(Math.round(-15.5)); 		// 计算结果:-15
		System.out.println(Math.round(-15.51)); 	// 计算结果:-16
		System.out.println(Math.round(-15.6)); 		// 计算结果:-16
	}
}


BigInteger
package com.bank.demo;
import java.math.BigInteger;
public class TestDemo {
	public static void main(String[] args) throws Exception {
		BigInteger bigA = new BigInteger("234809234801");	// 大数字A
		BigInteger bigB = new BigInteger("8939834789");		// 大数字B
		System.out.println("加法结果:" + bigA.add(bigB));
		System.out.println("减法结果:" + bigA.subtract(bigB));
		System.out.println("乘法结果:" + bigA.multiply(bigB));
		System.out.println("除法结果:" + bigA.divide(bigB));
		BigInteger result[] = bigA.divideAndRemainder(bigB);
		System.out.println("商:" + result[0] + ",余数:" + result[1]);
	}
}


完成准确位的四舍五入操作
package com.bank.demo;
import java.math.BigDecimal;
class MyMath {
	public static double round(double num, int scale) {
		BigDecimal big = new BigDecimal(num);				// 将数据封装在BigDecimal类中
		BigDecimal result = big.divide(new BigDecimal(1), scale,
				BigDecimal.ROUND_HALF_UP);			// 除法计算
		return result.doubleValue(); 					// Number类的方法
	}
}
public class TestDemo {
	public static void main(String[] args) throws Exception {
		System.out.println(MyMath.round(15.5, 0)); 		// 计算结果:16
		System.out.println(MyMath.round(-15.5, 0)); 		// 计算结果:-15
		System.out.println(MyMath.round(168.98765, 2)); 	// 计算结果:168.99
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值