我正在處理一個項目,但我找不到一種方法將浮點數存儲在數組中。我有一個浮點數.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)來控制十進制數字的輸出。 –