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 に答える