BigDecimal的使用

//浮点计算会失精,因此不能在金融行业中进行金钱计算,下面是一个安全的写法。

	private static void test1() {
		double a = 1.14 * 75;
		System.out.println(a);//85.49999999999999
		System.out.println(Math.round(a));//85
		
		BigDecimal aNew = new BigDecimal("1.14").multiply(
				new BigDecimal(75));
		System.out.println(aNew.floatValue());//85.5
		aNew = aNew.setScale(0, RoundingMode.HALF_UP);
		System.out.println(aNew);//86
		
		aNew = new BigDecimal(1.14).multiply(
				new BigDecimal(75));//1.14没有加引号
		System.out.println(aNew.floatValue());//85.5
		aNew = aNew.setScale(0, RoundingMode.HALF_UP);
		System.out.println(aNew);//85
	}

 

你可能感兴趣的:(BigDecimal)