关于java Math.round(Double a) 方法

首先看看API中关于这个方法怎么说的,Math.round(Double a) Returns the closest long to the argument,意思就是返回最接近参数的long,实际上这样没法理解,比如有Math.round(7.5),那么到底是返回8呢还是7呢?再如Math.round(-7.5)结果又会怎么样呢?

由此我写了一些测试代码并如下:

public class Test {
	public static void main(String[] args) {
		// 小数点后第一位 = 5
		System.out.println("正数:Math.round(11.5) = " + Math.round(11.5));
		System.out.println("负数:Math.round(-11.5) = " + Math.round(-11.5));
		
		// 小数点后第一位 < 5
		System.out.println("正数:Math.round(11.49) = " + Math.round(11.49));
		System.out.println("负数:Math.round(-11.49) = " + Math.round(-11.49));
		
		// 小数点后第一位 > 5
		System.out.println("正数:Math.round(11.69) = " + Math.round(11.69));
		System.out.println("负数:Math.round(-11.61) = " + Math.round(-11.69));
		
	}

}

打印结果如下:

正数:Math.round(11.5) = 12
负数:Math.round(-11.5) = -11
正数:Math.round(11.49) = 11
负数:Math.round(-11.49) = -11
正数:Math.round(11.69) = 12
负数:Math.round(-11.61) = -12

由此基本上可以得出结论:正数小数点后大于5则舍入,负数小数点后小于以及等于5都舍去,反之舍入,也可以说小数点后大于5全部加,等于5正数加,小于5全不加



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值