mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-09 21:53:40 +00:00
Fix xml double value is rounded #1533
This commit is contained in:
@@ -944,7 +944,7 @@ int main(int argc, char** argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::stringstream msg;
|
std::stringstream msg;
|
||||||
msg << std::setprecision (17) << "Using model offset (" << offset[0] << "," << offset[1] << "," << offset[2] << ")";
|
msg << std::setprecision (std::numeric_limits< double >::max_digits10) << "Using model offset (" << offset[0] << "," << offset[1] << "," << offset[2] << ")";
|
||||||
Logger::Notice(msg.str());
|
Logger::Notice(msg.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ boost::optional<std::string> format_attribute(const Argument* argument, IfcUtil:
|
|||||||
case IfcUtil::Argument_DOUBLE: {
|
case IfcUtil::Argument_DOUBLE: {
|
||||||
const double d = *argument;
|
const double d = *argument;
|
||||||
std::stringstream stream;
|
std::stringstream stream;
|
||||||
stream << d;
|
stream << std::setprecision (std::numeric_limits< double >::max_digits10) << d;
|
||||||
value = stream.str();
|
value = stream.str();
|
||||||
break; }
|
break; }
|
||||||
case IfcUtil::Argument_STRING:
|
case IfcUtil::Argument_STRING:
|
||||||
@@ -134,7 +134,7 @@ boost::optional<std::string> format_attribute(const Argument* argument, IfcUtil:
|
|||||||
for (int i = 1; i < 5; ++i) {
|
for (int i = 1; i < 5; ++i) {
|
||||||
for (int j = 1; j < 4; ++j) {
|
for (int j = 1; j < 4; ++j) {
|
||||||
const double trsf_value = trsf.Value(j, i);
|
const double trsf_value = trsf.Value(j, i);
|
||||||
stream << trsf_value << " ";
|
stream << std::setprecision (std::numeric_limits< double >::max_digits10) << trsf_value << " ";
|
||||||
}
|
}
|
||||||
stream << ((i == 4) ? "1" : "0 ");
|
stream << ((i == 4) ? "1" : "0 ");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user