Java格式
我试图格式化一个字符串,使“$”紧贴价格 例如:Java格式,java,format,Java,Format,我试图格式化一个字符串,使“$”紧贴价格 例如: Oranges 3 $3.00 $9.00 但我现在拥有的是: Oranges 3 $ 3.00 $ 9.00 这是我的代码:(注意:“price”和“total”是双数据类型) 我希望在每个输出之间都有一个间隙,但我找不到一种方法来获得结果 我想要的。有什么办法可以解决这个问题吗?去掉价格和总数上的10个空格 System.out.printf("%-25s %10s $%s $%s", item
Oranges 3 $3.00 $9.00
但我现在拥有的是:
Oranges 3 $ 3.00 $ 9.00
这是我的代码:(注意:“price”和“total”是双数据类型)
我希望在每个输出之间都有一个间隙,但我找不到一种方法来获得结果
我想要的。有什么办法可以解决这个问题吗?去掉价格和总数上的10个空格
System.out.printf("%-25s %10s $%s $%s", item, quantity, price, total);
你能把它们转换成字符串输出吗?Double类型可以调用toString()方法,如下链接所示: 然后,您可以在每个字符串的顶部输出一个美元符号(如果将所有字符串加载到数组中,甚至可以循环遍历所有字符串,并向所有字符串添加一个美元符号) 这可能不是最好的选择,但我相信它会起作用。试试看
System.out.printf("%-25s %10s %10s %10s", item, quantity, "$" + price, "$" + total);
输出
Oranges 3 $3.0 $9.0
Oranges 3 $3.00 $9.00
或者,最好使用格式化程序方法
String format(double d) {
return String.format("$%.2f", d);
}
...
System.out.printf("%-25s %10s %10s %10s", item, quantity, format(price), format(total));
输出
Oranges 3 $3.0 $9.0
Oranges 3 $3.00 $9.00
我建议使用,而不是自己制作。