2015-10-11 85 views
0

我使用RapidJSON(https://github.com/miloyip/rapidjson)創建相當大的數組(〜5 MB),並且由於過於精確的浮點數而導致大量空間浪費。 例如使用RapidJSON舍入double類型

StringBuffer s; 
Writer<StringBuffer> writer(s); 
writer.StartObject(); 
writer.String("value"); 
writer.Double(1.0/3.0); 
writer.EndObject(); 

這將導致一個JSON「{‘值’:0.33333333333}」,這是非常惱人的,當我只需要幾個顯著的數字。

我在這篇文章中發現了一個解決方案Set floating point precision using rapidjson,但已經過了幾年,並且已經過時了最新的rapidjson版本。有沒有人有這個解決方案?

回答

1

當前Writer總是生成浮點數的準確字符串表示形式,因爲解析輸出可以恢復原始值。您可能還喜歡this。如果您想要在RapidJSON中提供此功能,請在此處發表評論,我們可以進一步討論。