[英]BigDecimal divide with a large number of decimal places
我的問題很簡單
在BigDecimal
我想這樣做:
public static void main (String [] args) {
System.out.println(new BigDecimal(1).divide(new BigDecimal(3));
}
我希望結果是這樣的: 0.333333333333333333333333333333333.......
而不是0.3334
或0.33
。
所有BigDecimal操作都可以設置精度(小數點后的位數)和舍入模式。
System.out.println(
new BigDecimal(1).divide(new BigDecimal(3), 10, RoundingMode.HALF_UP));
將輸出0.3333333333
。 您可以創建MathContext對象來封裝此信息。 這很有用,因為您通常需要以相同的精度和舍入設置執行多個操作。
MathContext mc = new MathContext(10, RoundingMode.HALF_UP);
System.out.println(new BigDecimal(1).divide(new BigDecimal(3), mc));
System.out.println(new BigDecimal(1).divide(new BigDecimal(9), mc));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.