summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp
index ed4e3f7e6a9..e23df4b7656 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp
@@ -91,12 +91,13 @@ static inline double round (double x, int n) {
XMLString::XMLString (double x) {
stringstream ss;
- if (fabs(x) < 1e-8)
- x = 0;
- if (DECIMAL_PLACES > 0)
+ if (DECIMAL_PLACES > 0) {
+ // don't use fixed and setprecision() manipulators here to avoid
+ // banker's rounding applied in some STL implementations
x = round(x, DECIMAL_PLACES);
- // don't use fixed and setprecision() manipulators here to avoid
- // banker's rounding applied in some STL implementations
+ }
+ if (std::abs(x) < 1e-7)
+ x = 0;
ss << x;
ss >> *this;
}