2016-02-29 63 views
-1
static const double sKPrecision = 1.e+16; 
std::sprintf(str, "%1.15e", round(val * sKPrecision)/sKPrecision); 

观察:如何修复QNX的浮点精度?

val  str for Linux   str for QNX 
-0.174533 -1.745329251994333e-01 -1.745329251994333e-01 
1.06202 1.062015382745040e+00 1.062015382745040e+00 
1.63244 1.632439935370810e+00 1.632439935370811e+00 

按照上表中,为1.63244的 “STR” 为QNX比Linux不同。 我希望这个值与Linux相同。我不确定如何为QNX平台解决它。

+0

'skPrecision'本身不能用浮点表示。 – EJP

回答