1

我在我的函数中有以下语句System.out.printf("The balance is %0.1f", acct.getBalance());,有时余额会为 0,在这种情况下,我得到了,我MissingFormatWidthException怎样才能让它工作0.0呢?它适用于大于 0.0 的双精度数。

4

3 回答 3

4
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 的浮点数。理想情况下,它应该会给出错误。

于 2013-04-23T12:33:19.967 回答
1

尝试这个 :

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

输出:

 $0.00
于 2013-04-23T12:31:33.643 回答
1

尝试这个:

System.out.printf("余额为 %0.1f", acct.getBalance() !=0 ? acct.getBalance() : 0.0);

于 2013-04-23T12:35:12.583 回答