0

我想要添加到 json 对象的数字远低于零(pe 1.34e-14)。为此,我正在使用以下代码:

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。是否可以指定输出格式以使用科学计数法?

4

1 回答 1

0

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

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());

它工作正常。

于 2013-10-20T08:01:54.893 回答