diff --git a/loadrunable.cpp b/loadrunable.cpp index 728db2c..bead155 100644 --- a/loadrunable.cpp +++ b/loadrunable.cpp @@ -165,11 +165,12 @@ void writeFITSImage(fitsfile *fw, std::shared_ptr rawimage, ImageInfoD double vald = record.value.toDouble(&isdouble); int valb = record.value.toString() == "T"; long long vall = record.value.toLongLong(&isint); + if(isint)isint = vall == vald; QByteArray str = record.value.toString().toLatin1(); - if(isdouble) - fits_write_key(fw, TDOUBLE, record.key.data(), &vald, record.comment.isEmpty() ? nullptr : record.comment.data(), &status); - else if(isint) + if(isint) fits_write_key(fw, TLONGLONG, record.key.data(), &vall, record.comment.isEmpty() ? nullptr : record.comment.data(), &status); + else if(isdouble) + fits_write_key(fw, TDOUBLE, record.key.data(), &vald, record.comment.isEmpty() ? nullptr : record.comment.data(), &status); else if(isbool) fits_write_key(fw, TLOGICAL, record.key.data(), &valb, record.comment.isEmpty() ? nullptr : record.comment.data(), &status); else if(record.key == "COMMENT")