sscanf,为什么从char*到double型转换的精度丢失解决方案

sscanf,为什么从char*到double型转换的精度丢失
double   ulvalue;
sscanf(m_LONGITUDE.c_str(),   "%lf ",   &ulValue);
cout < <ulValue;

m_LONGITUDE.c_str()=117。693607
为什么得出来   ulvalue是117。6941呢?

------解决方案--------------------
%x.ylf,加精度控制啊。基本知识啦。默认精度是6位吧。
------解决方案--------------------
100位就自己实现吧,高精度库外面也有写好的~
atof已经很好了可以精确到16位
只要自行改变
printf( "%4.16lf ",k);//精度控制
^
|
这里,atof最大支持精度是16,可以改动,只是输出时精度控制