🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

2389閲覧

printf()での書式指定をstd::coutでも実現したい。

oldstance

総合スコア11

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/02/04 23:50

編集2021/02/04 23:52

お世話になります。

C言語のprintf()で、以下のように出力したとします。

c

1#include <stdlib.h> 2float value = ...; 3printf("%8.02f", value);

これをC++のstd::coutを使用して実現したいのですが、書式がいまいちわかりません。以下のように記述してみました。

c++

1#include <iostream> 2#include <iomanip> 3float value = ...; 4std::right; 5std::cout.fixed; 6std::cout.width(10); 7std::cout << std::setprecision(2) << value << std::endl;

しかし、得られる結果は桁がバラバラで想定していたものとは違いました。

出力結果は小数点の位置を揃えた感じで出力したいです。

sh

13.14 2 15 3ではなく、 4 3.14 515.00

マニュピレーターの指定の仕方が悪いのだと思うのですが、どの様に指定すればよいのかわかりませんでした。

以上、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

width や setw の幅指定は直後の一つにしか効きません。
毎回必要です。

C++

1#include <iostream> 2#include <iomanip> 3 4int main() 5{ 6 float value1 = 3.14, value2 = 15.0; 7 std::cout << std::fixed << std::setprecision(2); 8 std::cout << std::setw(10) << value1 << std::endl 9 << std::setw(10) << value2 << std::endl; 10}

質問のコードは、
... ではなく具体的な値を設定する、 int main() も書く、
などコンパイル可能なものにしてください。

投稿2021/02/05 00:18

kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oldstance

2021/02/05 00:40

只今確認しました。 想定した結果が得られました。ありがとうございます。 > コンパイル可能なものにしてください。 わかりました。以後その様に致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問