Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Записываю числа из одного dat файла в другой и почему-то они округляются

8.0K
01 декабря 2006 года
Duality27
49 / / 01.12.2006
Когда считываю данные из одного dat файла в другой мне важно сохранить ту же точность посде запятой, а числа округляются. Если бы я знала точно с какой точность данные записаны в файле не было бы проблем, но так мой расчет не точный.
вот код:
ifstream iF(f.c_str(),ios::in);
ofstream oF((Application->ExeName+"OneColNat.dat").c_str(),ios::out);
double val;
int N1=0;
int i=0;
while(iF>>val){
if(i==colnum-1){
oF<<val<<endl;
N1++;
}
i++;
if(i>colcount-1)
i=0;

oF.close();
iF.close();
ifstream iN((Application->ExeName+"OneColNat.dat").c_str(),ios::in);
x=new double[N1];
int y=0;
while(iN>>val){
x[y]=val;
y++;
}
iN.close();
Я число считываю из файла в переменную val, а затем когда записываю его в другой файл, то оно округляется.
274
01 декабря 2006 года
Lone Wolf
1.3K / / 26.11.2006
формат исходного фала такой же? по числу в строке. Что отделяет дробную часть? запятая или точка?
5.4K
01 декабря 2006 года
Svyatozar
221 / / 11.09.2006
Используй функцию precision(streamsize prec);

Код:
// modify precision
#include <iostream>
using namespace std;

int main () {
  double f = 3.14159;
  cout.precision(5);
  cout << f << endl;
  cout.precision(10);
  cout << f << endl;
  return 0;
}

На выходе:
 
Код:
3.1416
  3.14159
Источник:
http://www.cplusplus.com/ref/iostream/ios_base/precision.html
8.0K
04 декабря 2006 года
Duality27
49 / / 01.12.2006
Цитата: Svyatozar
Используй функцию precision(streamsize prec);

Код:
// modify precision
#include <iostream>
using namespace std;

int main () {
  double f = 3.14159;
  cout.precision(5);
  cout << f << endl;
  cout.precision(10);
  cout << f << endl;
  return 0;
}

На выходе:
 
Код:
3.1416
  3.14159
Источник:
http://www.cplusplus.com/ref/iostream/ios_base/precision.html


Спасибо за помощь

У меня несколько чисел я считаю число колонок в файле а потом вырезаю одну и переношу в другой файл, а точность чисел в них 16 а после перезаписи получаю 8, я думаю это от системы зависит, а мне-то не надо менять точность.

8.0K
04 декабря 2006 года
Duality27
49 / / 01.12.2006
У меня несколько чисел я считаю число колонок в файле они отделены пробелом или запятой, а потом вырезаю одну и переношу в другой файл, а точность чисел в них 16 а после перезаписи получаю 8, я думаю это от системы зависит, а мне-то не надо менять точность.Заранее точность чисел в этих файлах неизвестна, может быть 8 или 16.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог