C++ プログラミング

C++ 出力結果が xxx.0 になる場合

 

小数点以下の値を出力する場合、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などと違って、言語によってちょっと部分が各仕様で異なる部分がります。

今回、ちょっと戸惑ったため備忘として記録しておきます。

 

-C++, プログラミング

Copyright© donguri.pyのblog , 2025 All Rights Reserved.