如何在我使用printf格式化的浮点值的同时移动$符号?
System.out.printf("$%20.2f\n", booksTotal );
最终看起来像
"$ 10.00"
↑
而不是
" $10.00"
↑
答案 0 :(得分:2)
System.out.printf("%20s$%.2f%n", " ", booksTotal);
答案 1 :(得分:1)
您可能需要首先使用美元视线创建表示数值的正确字符串:
String.format("$%.2f", booksTotal)
- > "$10.00"
然后将其放在您的专栏
中System.out.printf("%21s%n", String.format("$%.2f", booksTotal));
// ^20+1 since previous pattern had one place reserved for $
如果您想要依赖操作系统的行分隔符(例如Windows的%n
),也可以考虑使用\n
代替\r\n
。
演示(为了清晰起见,添加了'
,您需要将其删除):
System.out.printf("'%21s'%n", String.format("$%.2f", 123d));
System.out.printf("'%21s'%n", String.format("$%.2f", 32.213));
System.out.printf("'%21s'%n", String.format("$%.2f", 1d));
结果:
' $123,00'
' $32,21'
' $1,00'