這裏就是我們所嘗試,但那些事非的作品...變化6.51 6.50在Java的BigDecimal
BigDecimal Total_Discount=new BigDecimal(10.00);
BigDecimal Amount_To_User=new BigDecimal(00.00);
BigDecimal Amount_To_Me=new BigDecimal(00.00);
Amount_To_User=Total_Discount.multiply(new BigDecimal(0.65)).setScale(2,BigDecimal.ROUND_UP); //65% of the amount
Amount_To_Me=Total_Discount.multiply(new BigDecimal(0.35)).setScale(2,BigDecimal.ROUND_UP); //35% of the amount
由65%和35分割數值,以便10將是6.50和3.50,但我正在使用BigDecimal.DOWN我得到6.50我已經有6.51,我需要改變,以6.50
Amount_To_User=Amount_To_User.setScale(2, BigDecimal.ROUND_CEILING);
System.out.println(Amount_To_User); //Gives the value 6.51
我想改變這種狀況6.51 6.50值越來越6.51但這並不工作
如果您想分割金額,您最好只計算一個乘以乘數的值,另一個乘以總賬戶的相減值。在這種情況下,滿足公式'total = am_user + am_me'。 – Robert
請勿使用浮點值作爲Bigdecimal的值。使用整數或字符串,例如'valueOf(int)'或'new BigDecimal(string)'。如果您想要BigDecimals提供的準確性,請遠離浮點。 –