将十进制数存储到MySQL数据库中

Here is the return of AJAX, which display what value I am trying to store into database:

enter image description here

Here is what is really stored into database (58.00 is what I stored):

enter image description here

Here is the structure of table:

enter image description here

Here is the PHP:

$req = $bdd->prepare("INSERT INTO salon_histo(reference, designation, colour, size, type, price, qty, payment, date) VALUES(:reference, :designation, :colour, :size, :type, :price, :qty, :payment, NOW())");
    $req->execute(array(
        'reference' => $_POST['reference'],
        'designation' => $_POST['designation'],
        'colour' => $_POST['colour'],
        'size' => $_POST['size'],
        'type' => $_POST['type'],
        'price' => floatval($price[0]),
        'qty' => $_POST['soldQty'],
        'payment' => $_POST['payment']
    ));
    $req->closeCursor();
    echo json_encode($price[0]);

How can MySQL store a data with 2 decimals at 0 when I am trying to store 58,33? I tried in PHP to use floatval and indeed the number becomes 58.

Price appears to be an array:

'price' => floatval($price[0]),

Possibly the decimal part has key 1?

'price' => (float) ($price[0] . '.' . $price[1]), 

If that doesn't work, please var_dump($price) and paste me the result.

The other thing to check is wether PHP is formatting those numbers with a comma or not.