alglyzin / json
解码JSON字符串时,将所有浮点值转换为字符串
1.0.1
2020-11-30 07:04 UTC
Requires
- php: >=5.6.0
- ext-json: >=1.2.0
README
当处理财务数据时,使用 json_decode()
解码JSON字符串时保持精度非常重要。唯一的解决方案是使用 preg_replace
在原始JSON字符串中添加引号。此 Json::float_safe($string)
方法可以做到这一点。
- 不改变JSON本身的结构(空格、换行等)
- 用引号包围指数格式的数字
- 运行速度足够快
使用composer安装
composer require alglyzin/json
使用示例
<?php use alglyzin\Json\Json; $json = ' { "a": 0.00000001e23, "b": 0.00000001, "c": 10000000000.0e+45, "d": 0.00000001e-3, "e": 10.0E4, "f": 1000000000.0E-34, "g": 0.000000000000001, "h": 100000 }'; $json = Json::float_safe($json); echo $json; // echo $json: // { // "a": "0.00000001e23", // "b": "0.00000001", // "c": "10000000000.0e+45", // "d": "0.00000001e-3", // "e": "10.0E4", // "f": "1000000000.0E-34", // "g": "0.000000000000001", // "h": 100000 // }