在插入mysql之前格式化浮点数

时间:2013-01-10 05:50:42

标签: php mysql floating-point

我正在使用mysql backend的移动应用。 Mysql已经是数据库,目前也在为PC站点运行。所以,我在移动设备上开发单独的前端,但是使用相同的数据库并编写我自己的php代码来更新相同的数据库。我的问题是数据库有一个列(价格),其类型为float(当我使用desc时,类型只是浮点数而没有额外的信息,如(5,4)。)。

问题是 - >当我按原样插入数据时,如果用户输入1234,我将以1234的形式插入数据库,并以相同的方式存储。但是当PC站点上显示相同的信息时,它显示0.01为1234。所以,我对从PC站点插入的数据进行了一些搜索。如果用户插入1234,它们将被插入到1234000000等数据库列中。在网站上的价格信息中,它显示正确的价格,如1234.

那么,在插入我的移动php代码之前,还是有任何类型的格式化技术,我是否需要在我的数字末尾附加六个0?任何帮助是极大的赞赏。提前谢谢。

编辑:代码段

$price = mysql_real_escape_string($_POST[$enteredprice]);

mysql_query("INSERT INTO item(s_secret, i_price) 
        VALUES('$secretcode','$price')",$db);

其中$ price包含用户输入的价格值。如上所述,如果用户输入1234,则$ price包含1234.

1 个答案:

答案 0 :(得分:1)

如果您不能按照建议使用固定点更改表格,并且绑定到您描述的格式,则可以执行以下操作。但是,似乎很奇怪,当没有使用实际的十进制值时,该字段是浮动的。

"INSERT INTO item(s_secret, i_price) VALUES('$secretcode','".($price*1000000)."')"

这假设您可以在表单中指定带小数的值。