簡體   English   中英

如何以人類可讀的格式顯示BigDecimal值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM