0
나는 x와 y 좌표의 데이터 파일을 가지고 있으며 Qt에서 두 개의 이중 벡터로 읽으려고합니다. 내 문제는 내 원래의 값이 내 코드가Qt에서 정밀도를 잃지 않고 텍스트 파일에서 값 읽기
QVector<double> v, v2;
QFile textFile (":/new/files/02262017newdata.txt");
if(textFile.open(QIODevice::ReadOnly))
{
qInfo() << "opened file successfully";
double a, b;
QTextStream textStream (&textFile);
while (!textStream.atEnd()) {
QString line = textFile.readLine();
QStringList list = line.split(" ");
if(list.size() == 2){
a = list.at(0).toDouble();
b = list.at(1).toDouble();
}
qInfo() << "a and b after using split is" << a <<" "<< b;
v.append(a);
v2.append(b);
}
}
입니다
35.659569 139.723370
35.659546 139.723194
35.659527 139.723051
35.659523 139.722909
35.659383 139.722946
처럼 내 데이터 파일이 보이는 6까지 이동에도 불구하고, 값이 잘 리거나 3 소수점 이하 자릿수 후 반올림되고 있다는 점이다 정밀도를 잃지 않고 값을 읽을 수있는 방법은 무엇입니까?
. 또한 소수점과 이진수의 차이로 인해 어떤 오류는 피할 수 없습니다. 정확성을 잃지 않도록 문자열로 읽고 저장하십시오. – MikeCAT
당신은 그들이 단절되고 있는지, 아니면 단지 둥근 채로 전시되고 있는지 확신합니까? qDebug(), qInfo()에는 인쇄 방법을 제어하는 서식 지정 플래그가있을 수 있습니다. 중단 점을 넣고'a'와'b'에 대한 스택 내용을 검토하십시오. 나는 당신이 당신의 모든 가치관을 보게 될 것이라고 믿습니다. – Freddy