Php json_编码将数字添加到结果中?

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,因此我在

我有一个完全不同的问题。出于某种原因,当json_encode函数接收到一个具有乘法赋值的变量时,
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没有给出这个值,你知道吗?