質問: argv[1]; double data[10]={0}; ifstream ifs; ifs.open(file_name); for(int i=0; i<10; i++) { ifs >> data[i]; } ifs.close(); return 0; } ``` このようなプログラムで読み込んだところ、数値が 7.7e-07 のような形で出力されてしまいました。 このような形ではなく、データをifstreamで読み込んだ後に 読み込んだデータを元の形(0.00000077) で、データを出力したい場合、どのようなコードを追加したらよいでしょうか?? 回答の方よろしくお願いします。
回答: こんにちは。 固定小数点で小数点下8桁出力する場合はstd::setprecision(8)を指定すれば良いです。 ``` #include #include int main() { double x=0.00000077; std::cout << std::fixed << std::setprecision(8) << x << "\n"; return 0; } ``` また、boost::format()を使うとprintf()チックに出力できて便利です。