PHP - Сериализация плавающих точек

Я генерирую 10 случайных чисел с 6 по 8 (все по понятной причине) и записываю их в базу данных mysql в сериализованной форме. Но одна странность, кажется, появляется во время хранения:

Перед сохранением я просто вывожу те же данные, чтобы посмотреть, как они выглядят, и вот результат, который я получаю

a:10:{i:0;d:6.20000000000000017763568394002504646778106689453125;i:1;d:7.5999999999999996447286321199499070644378662109375;i:2;d:6.4000000000000003552713678800500929355621337890625;..}

Как видите, я получаю длинные номера, такие как 6.20000000000000017763568394002504646778106689453125 вместо того, что мне действительно нравится видеть, просто 6.2. Это происходит только тогда, когда я сериализую данные, если я просто вывожу массив, я получаю число с плавающей запятой с точностью до одного десятичного знака. Вот мой код:

function random_float ($min,$max) {
   return ($min+lcg_value()*(abs($max-$min)));
}

$a1 = random_float(6, 8);
$a1 = round($a1, 1);
$a2 = random_float(6, 8);
$a2 = round($a2, 1);    
$a3 = random_float(6, 8);
$a3 = round($a3, 1);
    ...
$array = array($a1, $a2, $a3, $a4, $a5, $a6, $a7, $a8, $a9, $a10);

echo serialize($array);

Ответы на вопрос(9)

Ваш ответ на вопрос