opencv xml文件存储double类型时显示科学计数法

opencv xml文件存储double类型时显示科学计数法

例子:
本来想存储0.70这个double值到xml文件中,结果实际存入的是6.9999998807907104e-01,这个值的可读性就很差了,如果想手动改xml文件中这个值也不太现实了。

double dValue = value;
测试结果:
        value为60时,显示60.(注意后面的.)
        value为60.0时,还是显示60.
        val为60.1时,显示科学计数法
        value为1.0时,显示1.
        val为1.01时,显示科学计数法
从测试结果来看,只要小数点后面有非零值时就会显示科学计数法。

想法:存的时候先把double转换为string类型,读的时候再利用stod转回double这样做的问题,用to_string(dValue)存到xml时,精度显示是6位,会多出",也就是\",然后你直接stod的话是会段错误的,因为\"转double会出错,当时是stod(str.erase(0,1)),也就是把\"去掉。

最后老大否决了我转字符串存储的想法,说这样会存在风险,万一xml文件被改动,没有\"了,那么erase就是错误的

各位有好想法的请评论区交流下。

你可能感兴趣的:(C/C++,Opencv)