3

在我的程序中,我打印出一张表格,其中一列列出了钱。我想整齐正确地打印出货币价值,如下所示:

  $9.00
  $8.00
 $19.20
$200.90

我可以正确地证明这样的数字

while(condition)
{
   printf("$%5.2f\n", number);
}

但显然使用这种方法$没有定位在我想要的位置,我得到的输出更像:

$    9.00
$    8.00
$   19.20
$  200.90

我可以简单地使用printf获得我想要的格式吗?

4

2 回答 2

2

您可以使用辅助字符串来做到这一点:

while(condition)
{
   char str[10] = {};
   sprintf(str, "$%.2f", number);
   printf("%8s\n", str);
}
于 2013-12-26T16:29:18.063 回答
2

简单地使用 . 很难做到这一点printf。对于货币敏感格式,您应该使用该strfmon()函数。
有关更详细的解释,请阅读Jonathan Leffler给出的答案

于 2013-10-06T13:29:59.507 回答