小数点以下の値を出力する場合、C++では以下のように書く事ができます。
#include <bits/stdc++.h>
using namespace std;
int main() {
double num_1 = 1.0;
double num_2 = 5.6;
cout << num_1 << endl;
cout << num_2 << endl;
}
ただ、この書き方だと以下のように出力されてしまいました…。
// 出力結果
1
5.6
1.0 を出力しようとすると 勝手に.0 を省略して 1 と出力してしまうんですね。
こいつは困った…。
1と出力しても問題ない場合もありますが、あえて1.0と出力したい場合もあるわけです。
方法は何パターンかありますが、今回は以下の方法で修正してみました。
cout の後に fixed を追加。
その後に setprecision(n) を追加。
setprecision(n) の引数には小数点第何位まで表示するかを数値で入れます。
#include <bits/stdc++.h>
using namespace std;
int main() {
double num_1 = 1.0;
double num_2 = 5.6;
cout << fixed << setprecision(1) << num_1 << endl;
cout << fixed << setprecision(2) << num_2 << endl;
}
// 出力結果
1.0
5.60
期待通りの出力結果となりました。
Pythonなどと違って、言語によってちょっと部分が各仕様で異なる部分がります。
今回、ちょっと戸惑ったため備忘として記録しておきます。