Php json_编码将数字添加到结果中?
我有一个完全不同的问题。出于某种原因,当json_encode函数接收到一个具有乘法赋值的变量时,Php json_编码将数字添加到结果中?,php,json,Php,Json,我有一个完全不同的问题。出于某种原因,当json_encode函数接收到一个具有乘法赋值的变量时,echo结果将是一个与预期不同的值。例如: <?php $test = 1.1 * 122; echo json_encode(array("test" => $test)); // prints {"test":134.20000000000002} echo $test; // prints 134.2 ?> 由于某些原因,它不适用于所有版本的PHP,因此我在
echo
结果将是一个与预期不同的值。例如:
<?php
$test = 1.1 * 122;
echo json_encode(array("test" => $test)); // prints {"test":134.20000000000002}
echo $test; // prints 134.2
?>
由于某些原因,它不适用于所有版本的PHP,因此我在一个测试仪上创建了一个代码段:
为什么会发生这种情况?只需使用round函数即可
$test = round(1.1 * 122, 2);
echo json_encode(array("test" => $test));
这是一个很好的例子。如果需要特定精度,请使用
round()
。是的,但我的问题是为什么会发生这种情况,因为“122*1.1”没有给出这个值,你知道吗?是的,但我的问题是为什么会发生这种情况,因为122*1.1没有给出这个值,你知道吗?