我正在从包含如下所示的行的文件中创建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};
此问题导致我的应用崩溃。
感谢。
答案 0 :(得分:3)
我认为这只是使用cout
进行打印。如果是这种情况,请使用std::fixed
:
std::cout << std::fixed << whateverNumberCurrentlyInScientific;
答案 1 :(得分:0)
在阅读或发送时会崩溃吗?你在使用cout还是printf?崩溃它以使用带有%d的printf并向其发送浮点值的一种非常常见的方法。