将$插入格式化的float java中

时间:2014-12-12 01:12:07

标签: java formatting printf

我正在尝试格式化浮点数以在数字前面加上美元符号。目前我正试图从左侧打印150个空格。

System.out.printf("%150.2f", orderTotal);

这就是我正在使用但我无法弄清楚放在哪里$我想我可以把整个东西变成一个字符串,但我想知道是否有办法做什么我在找?

4 个答案:

答案 0 :(得分:2)

怎么样

System.out.printf("%150s", String.format ("$%.2f", orderTotal));

答案 1 :(得分:2)

System.out.printf("%150s$%.2f", "", orderTotal);

答案 2 :(得分:2)

String.format只是该任务的错误工具。 查看DecimalFormat.getCurrencyInstance您想要使用的内容。

答案 3 :(得分:1)

我认为这会给你你想要的东西:

System.out.printf("%150s", "$" + String.format("%.2f", orderTotal));

我认为使用%150s让您走上正轨。要格式化浮点数以使其具有两个小数位,但不向左侧添加任何额外的空格,只需在格式说明符中省略宽度字段。

我假设您希望整个字段的宽度为150;也就是说,如果货币部分是"$101.20",那么您想要在左侧追加143个空格。如果你真的想要150个空格而不管金额多少,那么Reimeus的答案就可以了。

另外,在处理货币时,请考虑使用BigDecimal代替floatdouble。浮点类型无法准确处理带小数位的数字。