1

我从我的物品中得到了不必要的价格长度。例如,如果价格是12.99我会得到12.9899997711

我的数据库如下所示,包含 800 多个项目

产品表

ppid         name             dec
1             shoes           black shoes
2             hat              red hat

item_product 表

我的价格是type float(5,2)

Item_ID        ppid             price
1               1                12.99
2               2                10.00

PHP/HTML 这就是我显示价格的方式

<?php
        dbconnection(); 
        $stmt2 = $conn->prepare("SELECT name, Price FROM item_product WHERE ppid=:id LIMIT 1");
        $stmt2->bindParam('id',$id);
        $stmt2->execute();
        $rows2 = $stmt2->fetchAll(PDO::FETCH_ASSOC); 
        foreach ($rows2 as $row2) {
            if ($i == 0) {  
            echo '<td>Price:</td>';
                echo '<td name="pricetag" class="pricetag" id="pricetag">&pound;'.$row2['Price'].'</td>';
            }
        }
    ?>

总结 我怎样才能让它显示.99.00任何最后有任何项目的项目。

4

1 回答 1

6

看起来您的价格字段可能被定义为某种浮点类型,它不会准确地保存十进制数。对于货币,您要保存确切的金额,因此使用DECIMAL数据类型来定义列。

于 2013-08-04T07:21:53.513 回答