簡體   English   中英

Java在printf中打印雙精度值零

[英]Java printing double value zero in printf

我的函數中有以下語句System.out.printf("The balance is %0.1f", acct.getBalance()); ,有時余額將為0,在這種情況下,我會得到MissingFormatWidthException ,即使在0.0的情況下也如何工作? 它非常適合大於0.0的雙精度數。

System.out.printf("The balance is %.1f",(double)acct.getBalance());

要么

System.out.printf("The balance is %1.1f",(double)acct.getBalance());

%0.1f解釋為print為至少0寬且精度為2的浮點。理想情況下,應該給出錯誤。

嘗試這個 :

 NumberFormat f = NumberFormat.getCurrencyInstance();
 f.setMinimumFractionDigits(2);
 double d = 0.0;
 System.out.println(f.format(d));

輸出:

 $0.00

嘗試這個:

System.out.printf(“余額為%0.1f”,acct.getBalance()!= 0?acct.getBalance():0.0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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