使用 php7.1,这个:
json_encode(['value' => 0.00001]);
将返回此字符串:
{"值":1.0e-5}
虽然我想得到{"value":0.0001}
我怎样才能做到这一点?
这是我到目前为止尝试过的:
json_encode(['value' => '0.00001']);
// returns {"value":"0.0001"}, not {"value":0.0001}
json_encode(['value' => '0.00001'], JSON_NUMERIC_CHECK);
// returns {"value":1.0e-5}
PHP 源代码 Zend/zend_strtod.c 的第 4536 行选择 E 样式,如果你有超过 3 个零 ( decpt < -3
(:
if ((decpt >= 0 && decpt > ndigit) || decpt < -3) { /* use E-style */