Таким образом, согласно cplusplus.com, когда вы устанавливаете флаг формата выходного потока в научную нотацию через
of.setf(ios::scientific)
вы должны увидеть 3 цифры плюс и знак в экспоненте. Тем не менее, я, кажется, только 2 в моем выводе. Есть идеи? Скомпилировано в Mac OS с использованием GCC 4.0.1.
Вот фактический код, который я использую:
of.setf(ios::scientific);
of.precision(6);
for (int i=0;i<dims[0];++i) {
for (int j=0;j<dims[1];++j) {
of << setw(15) << data[i*dims[1]+j];
}
of << endl;
}
и пример строки вывода:
1.015037e+00 1.015037e+00 1.395640e-06 -1.119544e-06 -8.333264e-07
Спасибо