我已经尝试过
System.out.println(myLorry.toString(registration, myCar.calcCharge()));
输出
Registration: TA17 NDD Charge: 7.0
我希望我的程序输出
Registration: TA17 NDD Charge: £7.00
如何正确格式化它?
编辑: 为什么格式化不能正确工作?它说需要两个参数,但只能找到一个。我需要使用 toString 方法调用对象。
System.out.printf("%s £%.2f" ,myCar.toString(registration, myCar.calcCharge()));
最佳答案
就像@davidxxx在评论中建议你可以使用
DecimalFormat d = new DecimalFormat("'£'0.00");
System.out.println(d.format(7.0));
输出
£7,00
<小时/>
如果您对 dot(.)
和 comma(,)
有疑问,那么您可以使用 DecimalFormatSymbols
:
DecimalFormat d = new DecimalFormat("'£'0.00");
DecimalFormatSymbols sym = DecimalFormatSymbols.getInstance();
sym.setDecimalSeparator('.');
d.setDecimalFormatSymbols(sym);
关于Java - 使用对象和 toString 方法格式化字符串以显示井号和带有两个前导零的小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43810957/