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

Php 在插入mysql之前格式化浮点数,php,mysql,floating-point,Php,Mysql,Floating Point,我正在开发一个移动应用程序,它有一个mysql后端。Mysql已经设计好了数据库,目前也在为PC站点运行。因此,我正在移动设备上开发单独的前端,但使用相同的数据库,并编写自己的php代码来更新相同的数据库。我的问题是数据库中有一个列(price),其类型是float(将type指定为唯一的float,而没有额外的信息,比如我使用desc时的(5,4)) 问题是-->当我按原样插入数据时,如用户输入1234,我将以1234的形式插入数据库,并且以相同的方式存储数据。但是,当相同的信息显示在PC站点

我正在开发一个移动应用程序,它有一个
mysql后端
。Mysql已经设计好了数据库,目前也在为PC站点运行。因此,我正在移动设备上开发单独的前端,但使用相同的数据库,并编写自己的php代码来更新相同的数据库。我的问题是数据库中有一个列(price),其类型是
float
(将type指定为唯一的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

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

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

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

不要对货币使用浮动。使用固定精度类型或以美分为单位的整数。()@Corbin,但已经设计好了数据库。我对它无能为力。请提出建议。@Alex_ios-为了改进您的问题和获得帮助的可能性,您应该包含用于插入记录的PHP和/或MySQL代码。我假设问题就在这里……不,银行不使用浮点数!浮点是不精确的,对于金融数据来说是绝对不可能的。银行通常使用定点小数。@Nicarus我正在做一个简单的表插入。无论如何,我要修改我的问题。