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位,会多出&quot,也就是\",然后你直接stod的话是会段错误的,因为\"转double会出错,当时是stod(str.erase(0,1)),也就是把\"去掉。

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

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐