JSON-C 中的数字格式



我有远小于零的数字(例如 1.34e-14),我想添加到 json 对象中。为此,我使用以下代码:

smallnumber=1.34e-14;
struct json_object *pointj=json_object_new_object();
json_object_object_add(pointj,"par", json_object_new_double(smallnumber);
cout << "nThe json object created: " <<  json_object_to_json_string(pointj);

问题是该数字显示为 0.000000。是否可以指定输出的格式以科学记数法?

可能这个问题有更优雅的解决方案,但我以这种方式解决了它:

double smallnumber=1.34e-14;
stringstream tmp;
tmp << smallnumber;
struct json_object *pointj=json_object_new_object();
json_object_object_add(pointj,"par", json_object_new_string(tmp.str().c_str());

它工作正常。

相关内容

  • 没有找到相关文章

最新更新