Java - 使用对象和 toString 方法格式化字符串以显示井号和带有两个前导零的小数?

标签 java formatting

我已经尝试过

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/

相关文章:

python - 参数化字符串格式会产生意想不到的结果

python-3.x - Python 3 Pandas 将 CSV 格式的列作为字符串写入

java - 如何在整数的左侧填充零?

java - Android中从URL读取XML文件

java - 从字段变量读取值

java - 简化java中的部首表达式

Git如何保存预设的git log --format

java - 启用 Proguard 时使用 Retrofit2 的 NullException int java.util.List.size()

java - Bundle 通过使用安全的 Args 导航变得空

intellij-idea - 在 PyCharm 中用换行符包装注释