I have fixed previous floating point accuracy issues using std:setprecision from c++.
This tends to be on a case by case basis though and I have yet to do a global change in the engine as I think I will break too much along the way. Anyway here is the c++ page for a fix.
http://www.cplusplus.com/reference/iomanip/setprecision/
Code
// setprecision example
#include <iostream> // std::cout, std::fixed
#include <iomanip> // std::setprecision
int main () {
double f =3.14159;
std::cout << std::setprecision(5) << f << '\n';
std::cout << std::setprecision(9) << f << '\n';
std::cout << std::fixed;
std::cout << std::setprecision(5) << f << '\n';
std::cout << std::setprecision(9) << f << '\n';
return 0;
}
Output
3.1416
3.14159
3.14159
3.141590000