QVector.append를 사용하여 QVector에 double을 추가하려고합니다. 내 디버거를 사용하면 이중 40.783333499999998 값을 볼 수 있지만 QVector 값은 40.7833 반올림됩니다. 다시 말하지만 qDebug를 사용하지 않고 내 디버거에서이 오류를 볼 수 있습니다. 따라서 오류가 저장소/추가 기능에 있고 코드의 다른 곳에서 정밀도가 손실되지 않았 음을 확신합니다. 벡터가 전체 값을 포함하는 것이 매우 중요합니다. 내 코드는 아래와 같습니다. 디버거에서 DictionaryOfValues와 iterator 모두 완전한 정밀도를 포함하고 있지만 dataMatrix 값은 반올림됨을 알 수 있습니다. 이 오류가 발생한 곳을 찾을 수없는 것 같습니다. 저는 QT 5.2.1 MinGW 32 비트를 사용하고 있습니다. 어떤 도움이라도 대단히 감사하겠습니다. 이 코드에서 QVector 자르기/반올림 값 추가
는 DictionaryOfValues는 QMap이며, 데이터 매트릭스는 QMap> 사실QMapIterator<QString,double> i(DictionaryOfValues);
while (i.hasNext())
{
i.next();
dataMatrix[i.key()].append(i.value());
}
또는 디버거에서 변수 서식을 지정하는 방법과 관련이 있습니다 –
'std :: vector '를 사용하여 결과를'QVector '와 비교해보십시오. 이론적으로이 데이터 구조는 변수 만 복사하며 데이터의 내용에는 영향을주지 않습니다. –
나는 그것에 대해 생각해 봤지만 모든 값은 double로 포맷되어있다. 나는 그들이 모두 똑같은 취급을받는다고 생각할 것입니다. – french13