如何在数组中存储浮点数
How to store float numbers in array C++
我正在处理一个项目,但我找不到在数组中存储浮点数的方法。我有一个带有浮点数的。txt文件(testfile.txt),如下所示
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
谁能告诉我我做错了什么?我已经尝试了很多,提前感谢! 你的问题不在于你如何存储这些数字。
数字存储得很好。
你的问题是你如何看待这些数字。
你打印数字的方式是错误的,所以你看到的数字是错误的,所以你认为数字有问题。
默认情况下,cout << my_double_variable
将呈现不带小数的双精度。
一个简单的google搜索" c++ cout double",得到的第一个结果如下stackoverflow Q&A:
如何使用cout打印具有完全精度的双精度值?
据此,解决方案是使用cout.precision(N);
,其中N
是您所需的精度。
小打印: 如果您正在使用调试器,您将自己看到这一点,而不需要编写任何代码来打印东西,不会被错误的打印输出误导,也没有所有的雁追逐。所以,我的建议是:开始使用调试器。。
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- 使用提升将数据从 PyObject 复制到浮点数 *
- 使用浮点数和双精度数的非常小数字的数学
- 使用英特尔内联函数将打包的 8 位整数乘以浮点数向量
- 我在将 10^18 存储为浮点数时遇到问题
- C++ - 浮点数组在某个非常大的索引之后不存储值
- 如何创建用于存储和返回浮点数数组的结构
- 将浮点数组存储在纹理中,并使用纹理坐标从着色器访问浮点
- 如何将 4 个浮点数的 ps 向量转换为 4 个双精度并存储到 pd 数组
- 在同一行中读取混合输入(字符串/浮点数),并将其存储在数组中
- 使用浮点数存储大量数字
- 存储浮点数的最佳方式
- c++如何从文件中读取浮点数并存储到另一个文件中
- 从文件中读取浮点数并将其存储到数组中
- 从文件中读取浮点数/单词/符号,并仅将浮点数存储在数组中
- 如何在数组中存储浮点数
- 浮点精度 - C++ std::numeric_limits<float>::max() 可以准确地存储在浮点数中并在以后进行比较吗?
- 如何判断双精度浮点数是否可以安全地存储为单精度浮点数