想知道如何放置'$'符号,以便在我执行此操作时随着数字移动:
System.out.printf("$%20.2f", test);
我得到了
$ 10.00
我正在尝试将一系列数据格式化为3列
我已经尝试将%放在C之后,但它不起作用。
答案 0 :(得分:2)
没有快捷方式可以将文本添加到要格式化的变量中 您必须分两步完成此操作,如下所示:
System.out.printf("%20s", String.format("$%.2f", test));
答案 1 :(得分:0)
这可能有点像kludge,但我通常只为此设置一个十进制格式化程序:
import java.text.DecimalFormat;
class Test {
public static void main(String[] args) {
// One-time setup (could be simpler, I've opted for readability).
final String fmt20v2a = "$#################.00";
final String fmt20v2b = "%21s";
final DecimalFormat df20v2 = new DecimalFormat (fmt20v2a);
// Usage
System.out.printf(fmt20v2b + "\n", df20v2.format(74.1));
System.out.printf(fmt20v2b + "\n", df20v2.format(999999.99));
} }
这为您提供了一些额外工作的对齐输出,但设置通常只需要完成一次。输出是:
$74.10
$999999.99