当前位置: 首页> 健康> 母婴 > 青岛的互联网公司_辽宁建设工程信息网盲盒_页面优化的方法_天津网站建设技术外包

青岛的互联网公司_辽宁建设工程信息网盲盒_页面优化的方法_天津网站建设技术外包

时间:2025/8/23 13:48:56来源:https://blog.csdn.net/weixin_45459266/article/details/144102089 浏览次数:0次
青岛的互联网公司_辽宁建设工程信息网盲盒_页面优化的方法_天津网站建设技术外包

前言

        在使用cJSON的时候,使用cJSON_CreateNumber创建小数obj后,再添加到array或者其他obj中,然后使用cJSON_Print输出的时候,发现小数点后的小数多了很多,完全不是添加的时候保留的精度,搜索网上解决说换成最新的就可以,但是最新下载后结果还是一样,最终使用了json-c解决了。

解决

需求:实现保留一位小数创建obj,最终输出为string的时候也是一位。

实现:

double fdata = 25.12001;
//单纯数字json,例如:25.12001
json_object *data_obj = json_object_new_double(fdata);
//"%.1f"格式化,保存一位小数,例如:25.1
json_object_set_serializer(data_obj, json_object_double_to_json_string, "%.1f", NULL);
//可以直接输出查看,也可以添加到其他obj中
const char *str = json_object_to_json_string_ext(data_obj, JSON_C_TO_STRING_PRETTY);
//最终结果是保留一位小数
printf("%s", str);

上述中最关键的是使用json_object_set_serializer确定了输出的小数的精度。其中"%.1f"就是保存一位小数,同理"%.2f"可以保存两位小数。

关键字:青岛的互联网公司_辽宁建设工程信息网盲盒_页面优化的方法_天津网站建设技术外包

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: