我从我的项目中获得了不必要的价格长度。例如,如果价格为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">£'.$row2['Price'].'</td>';
}
}
?>
摘要
如何让.99
和.00
显示任何最终有任何项目的项目。
答案 0 :(得分:6)
看起来你的价格字段可能被定义为某种浮点类型,它不能准确地保存十进制数字。对于货币,您希望保存确切的金额,因此请使用DECIMAL
数据类型来定义列。