浮点数和科学记数法

时间:2012-07-17 17:56:16

标签: c++

我正在从包含如下所示的行的文件中创建1D和2D数组:

42857000 -923070 0 0 -7887 428570 -546190 -4285700 546190 0 -6.5 -0.15384 6.5 0.15384 0.007 0 0 42857000 360570 0

当我从文件中填充数组时,它们会转换为科学记数法:

42857000>>>>> 4.2857000e + 007等!!!

有没有办法阻止这个?

我的数组定义如下:

float aMatrix[DEFROWS][DEFCOLS] = {0.0};
float bMatrix[DEFCOLS] = {0.0};

此问题导致我的应用崩溃。

感谢。

2 个答案:

答案 0 :(得分:3)

我认为这只是使用cout进行打印。如果是这种情况,请使用std::fixed

std::cout << std::fixed << whateverNumberCurrentlyInScientific;

答案 1 :(得分:0)

在阅读或发送时会崩溃吗?你在使用cout还是printf?崩溃它以使用带有%d的printf并向其发送浮点值的一种非常常见的方法。