我试图让MySQL十进制字段类型正常工作,我只是想不通。我将$_POST['price']字段发送到十进制字段,例如3.45,并且始终将其存储为3.00

如果不存储小数,我将怎么做?

找到解决方案:PDO::PARAM for type decimal?

PDO没有十进制存储类型,似乎有些遗漏。需要将其存储为字符串而不是数字。

最佳答案

floatval()变量从字符串转换为浮点时,请使用$_POST['price']。此值是应该存储在数据库中的值。

不过要小心!由于可能的舍入误差,在计算价格时,浮点算术不是很好。在处理价格时,我通常使用整数算术,然后手动将其放入小数点。

因此,在您的示例中,我将存储345来表示$3.45

关于php - 如何正确发送十进制数到mysql数据库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17753630/

10-13 04:26