从数据库收到的不必要的价格延

时间:2013-08-04 07:17:50

标签: php mysql pdo

我从我的项目中获得了不必要的价格长度。例如,如果价格为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显示任何最终有任何项目的项目。

1 个答案:

答案 0 :(得分:6)

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