目次
- fixed と setprecision で固定小数点表記の表示を自在に操る
- scientific を用いて、指数表記の表示を自在に操る
fixed と setprecision で固定小数点表記の表示を自在に操る
メイン処理
std::fixed は小数部の桁数をより正確に指定したい場合には書式フラグです。fixedを使用しないと、setprecisionの指定した長さが整数部も含むことになります。
std::setprecision は入出力ストリームで浮動小数点型の桁数を指定出来るマニピュレータです。
#include <iomanip> // setprecisionを使用するのに必要
cout << std::fixed << std::setprecision(15) << y << endl;
サンプル
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
double y;
y = 1.0 / 3.0;
//普通にcout
cout << y << endl;
//小数点以下の長さを指定
cout << fixed << setprecision(15) << y << endl;
return 0;
}
出力結果
0.333333
0.333333333333333
scientific を用いて指数表記の表示を自在に操る
メイン処理
std::scientificは指数表記による出力を行いたい場合に使用します。cout << のあとに記載するだけで指数表記が表示できます。
cout << std::scientific << y << endl;
cout << std::scientific << std::setprecision(2) << y << endl;
サンプル
#include <iostream>
#include <iomanip>
int main(){
double y;
y = 31415.926535
//単純に指数表記
cout << scientific << y << endl;
//指数表記 + 小数点以下長さ指定
cout << scientific << setprecision(2) << y << endl;
//指数表記 + 小数点以下長さ指定 + uppercaseでeの部分を大文字表記に
cout << scientific << setprecision(2) << uppercase << y << endl;
return 0;
}
出力結果
3.141592653500000e+04
3.14e+04
3.14E+04
まとめ
fixed で小数点以下だよと教えてあげる。 setprecision で小数点以下の長さを指定してあげる。
scientiicで指数表記を使うよと教えてあげる。
TAの採点の仕事が面倒くさい...