jsoncpp:将字符串转换为双精度

约翰·S。

我试图从一个 JSON 对象中获取一个我知道代表十进制的字符串,并将其分配给 C++ 中的双精度值。

人们会期望这样asDouble()做可以,但事实并非如此。例如,如果我们将数组["0.4983", "4387"]放在一个变量中Json::Value arr,则执行

double x = arr[0].asDouble()

抛出异常 Value is not convertible to double.

这样做的推荐方法是什么(在 C++ 11 中)?

思纳特

我的猜测是这"0.4983"是一个字符串,因此 jsoncpp 拒绝将其转换为双精度值。这是合理的,因为通常将字符串"abc"转换为 double 是没有意义的。

您需要的是手动将字符串转换为双精度;在 C++11 中,它是stod

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章