利用java BigDecimal 做相對精準的加減乘除運算

相信大多數程序員弟弟們在實際項目中都遇到過需要做簡單的加減乘除運算的時候把,雖然說加減乘除用java 後端做很low但是不排除少數情況需要用到,那麼我們應該如何去實現呢;

這裏是利用bigdecimal的數據類型配合jdk字段的運算方法可以保留小數位數:

1、加法

public  static String math(String str1,String str2){
		BigDecimal b1 = new BigDecimal(str1);
		BigDecimal b2 = new BigDecimal(str2);
		return b1.add(b2).toString();
	}

2、減法

/**
	 * 相對請準的減法運算方法
	 * @return 
	 */
	public  static String sub(String str1,String str2){
		BigDecimal b1 = new BigDecimal(str1);
		BigDecimal b2 = new BigDecimal(str2);
		return b1.subtract(b2).toString();
	}

3、乘法

/**
	 * 相對請準的乘法運算方法
	 * @return 
	 */
	public  static String mul(String str1,String str2){
		BigDecimal b1 = new BigDecimal(str1);
		BigDecimal b2 = new BigDecimal(str2);
		return b1.multiply(b2).toString();
	}

4、除法(保留兩位小數,並且四捨五入)

/**
	 * 相對請準的除法運算方法
	 * @return 
	 */
	public  static String div(String str1,String str2,int scale){
		BigDecimal b1 = new BigDecimal(str1);
		BigDecimal b2 = new BigDecimal(str2);
		return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).toString();
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章