我有远小于零的数字(例如 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());
它工作正常。