Java小数截断


Java计算数据小数截断,目前提供了下面几种方式,这些方式截断小数如下:



用的测试代码如下,里面有对几种方式的注释心得

public class Test {

	public static void main(String[] args) {
		BigDecimal bigDecimal1 = new BigDecimal(-25);
		BigDecimal bigDecimal2 = new BigDecimal(7);

		// 无论正数或者负数都进1
		BigDecimal bigDecimal3 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_UP);
		System.out.println("bigDecimal3:" + bigDecimal3);

		// 无论正数或者负数直接舍入,任何情况都不进1
		BigDecimal bigDecimal4 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_DOWN);
		System.out.println("bigDecimal4:" + bigDecimal4);

		// 正数在舍入的时候都进1;负数直接舍掉
		BigDecimal bigDecimal5 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_CEILING);
		System.out.println("bigDecimal5:" + bigDecimal5);

		// 正数直接舍掉,负数舍入时进1
		BigDecimal bigDecimal6 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_FLOOR);
		System.out.println("bigDecimal6:" + bigDecimal6);

		// 四舍五入
		BigDecimal bigDecimal7 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_HALF_UP);
		System.out.println("bigDecimal7:" + bigDecimal7);
		
		// 四舍五入
		BigDecimal bigDecimal8 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_HALF_DOWN);
		System.out.println("bigDecimal8:" + bigDecimal8);
		
		// 四舍五入
		BigDecimal bigDecimal9 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_HALF_EVEN);
		System.out.println("bigDecimal9:" + bigDecimal9);
		

	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值