我试图让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/