[英]Set n decimal places in BigDecimal and format the number Java
我目前正在使用BigDecimal,並且小數點后的位數是可變的。 我需要能夠通過減少設置的位數來格式化數字,因為當我使用format時,它將十進制數字減少到2-4。
str1 =bigDecimal.setScale(numberOfDecimalPlaces, RoundingMode.HALF_UP);
str2 = NumberFormat.getInstance().format(bigDecimal.setScale(numberOfDecimalPlaces, RoundingMode.HALF_UP));
第一個列表工作正常,但是當我要格式化String / BigDecimal時,它將刪除小數位。
注意:小數位的范圍從0到15(根據用戶)。 我正在使用Android Studio-API15 / Java。 精度在我的應用中很重要,格式化是為了提高可讀性。
如@JB Nizet所述,您需要調整NumberFormat acc。 根據您的需要。
下面是一個工作示例:
int numberOfDecimalPlaces = 6;
BigDecimal bigDecimal = new BigDecimal(11212.122323);
bigDecimal.setScale(numberOfDecimalPlaces, RoundingMode.HALF_UP);
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setMinimumFractionDigits(numberOfDecimalPlaces);
System.out.println(numberFormat.format(bigDecimal));
輸出:
11,212.122323
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.