私はプロジェクトで作業していますが、浮動小数点数を配列に格納する方法が見つかりません。私はこのような浮動小数点数を持つ.txtファイル(testfile.txt)を持っています浮動小数点数を配列C++に格納する方法
1.0 2.0
3.0 4.0
5.0 6.0
7.0 8.0
9.0 10.0
そして私はそれを配列に保存したいと思います。しかし、私がこれをすると、すべての数字が整数に変換されます。私のプログラムは次のようになります。
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
double number[10];
ifstream infile;
infile.open("testfile.txt");
for(int a=0; a<10; a=a+1)
{
infile >> number[a]; // Reading from the file
cout << number[a] << endl;
}
}
、出力はこの
1
2
3
4
5
6
7
8
9
10
のようなものです誰かが私が間違ってやっている私に説明していただけますか?私は事前におかげで多くを試してみました!
問題がどこにあるか説明できますか? – Amit
"*私のすべての数字は' float' *に変換されています - ここでは、すべての数字が "整数"として出力されるので、すべての数値が 'int'に変換されると思います。私の前提が正しければ、 'std :: ostream'精度を小数点以下で出力するように設定しているだけで、数値自体は実際には' double'として格納されます。 – ArchbishopOfBanterbury
'std :: fixed'と' 'std :: setprecision()'](http://en.cppreference.com/w/cpp/io/manip/setprecision)を使って10進数の出力を制御できます。 –