3

私のプログラムでは、表を印刷します。列の1つにお金がリストされています。以下のように、お金の値をきれいに右揃えで出力したいと思います。

  $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 に答える