我正在尝试让 MySQL 十进制字段类型正常工作,但我就是不明白。我将 $_POST['price']
字段发送到小数字段,例如 3.45
,它始终将其存储为 3.00
。
如果它不存储小数,我会做错什么?
找到解决方案:PDO::PARAM for type decimal?
PDO 没有十进制存储类型,似乎是一个值得错过的东西。需要将其存储为字符串而不是数字。
最佳答案
将 $_POST['price']
变量从字符串转换为浮点时使用 floatval()
。该值应该存储在您的数据库中。
但要小心!由于可能存在舍入误差,在计算价格时浮点运算并不是那么好。在处理价格时,我通常使用整数运算,然后手动输入小数点。
因此,在您的示例中,我将存储 345
来表示 $3.45
关于php - 如何正确发送小数到mysql数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17753630/