我想将0.5
存储在mysql数据库中。我怎么能这样做?
我的mysql数据库中有一个decimal(10,2)
的列。但是当我使用php存储0.5
时,它会存储0
。
当我存储1.1
或更高时,这是有效的。
<?php
if(isset($_POST['sub'])){
include('conn.php');
echo $package_name = $_POST['package_name'];
echo $package_amount = $_POST['package_amount'];
echo $package_points = $_POST['package_points'];
echo $package_direct = $_POST['package_direct'];
echo $package_binary = $_POST['package_binary'];
$package = $conn->prepare('INSERT INTO package(pack_name, pack_amount, pack_points, pack_direct, pack_binary) VALUES (?, ?, ?, ?, ?)');
$package->bind_param('siiii', $package_name, $package_amount, $package_points, $package_direct, $package_binary);
if($package->execute()){
echo "Pakage Inserted ";
}else{
echo "error";
}
$package->close();
}
?>
谢谢
答案 0 :(得分:0)
你应该使用浮动。
CREATE TABLE amounts(
id INT(10) AUTO_INCREMENT,
amount FLOAT(2,2) NOT NULL,
PRIMARY KEY(id)
);
当你设置一个浮点数时,()
中的数字是小数点前后的位数。例如,如果我想要一个百分比,我会将类型设置为FLOAT(3,2)
,以便我能够存储值100.00
如果您仍然遇到问题,可能是PHP的四舍五入问题。你应该在你的问题上发布你的代码,以便我们看看:)