[英]How to display BigDecimal value in a human readable format?
假設我們有一個這樣設置的BigDecimal變量,並且我們不能更改其創建方式:
BigDecimal num = new BigDecimal(6.0053);
因此,在輸出后,我們將看到以下“漂亮”值:
System.out.println(num); //0053000000000000824229573481716215610504150390625
我發現解決此問題的唯一方法是使用BigDecimal.valueOf():
System.out.println(BigDecimal.valueOf(num.doubleValue())); //6.0053
但是,有沒有更簡單的解決方案?
提前致謝。
使用java.text.DecimalFormat
格式化數字。
NumberFormat format = new DecimalFormat("0.####");
System.out.println(format.format(num));
格式選項可以在這里找到
BigDecimal num = new BigDecimal(6.0053);
DecimalFormat df=new DecimalFormat("0.0000");
System.out.println(df.format(num));
System.out.println(new DecimalFormat("###,##0.00").format(myBigDecimalVariable));
您可以將String.format
與“ g
”格式類型一起使用。 它允許您控制所需的位數等。有關所有格式設置,請參見此處 。
BigDecimal num = new BigDecimal(6.0053);
String formated = String.format("%6.5g", num);
System.out.println(formated);
(結果: 6.0053
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.