mysql和php浮点数据类型

mysql和php浮点数据类型,php,mysql,Php,Mysql,在我的应用程序中,我希望将使用php计算的浮点值或双精度值保存到mysql中。 我还想使用sql在存储过程中使用这些列进行计算。 但我注意到,在php和mysql中,double和float数据类型显示的是不同的。 例如,在用php进行计算后,我可能会得到一个值4.00,而同样的计算结果是mysql是4.0027。 我如何才能使计算的值或多或少相同。mysql中的列应该是什么类型,php中的转换应该是什么? Thanx你可以通过阅读了解为什么两个整数之和经常导致浮点运算 考虑到MySQL数据类型

在我的应用程序中,我希望将使用php计算的浮点值或双精度值保存到mysql中。 我还想使用sql在存储过程中使用这些列进行计算。 但我注意到,在php和mysql中,double和float数据类型显示的是不同的。 例如,在用php进行计算后,我可能会得到一个值4.00,而同样的计算结果是mysql是4.0027。 我如何才能使计算的值或多或少相同。mysql中的列应该是什么类型,php中的转换应该是什么? Thanx

你可以通过阅读了解为什么两个整数之和经常导致浮点运算

考虑到MySQL数据类型,本问题讨论并解释了差异:

我建议在PHP中插入/更新之前以十进制存储,并进行一些舍入

同样,一切都取决于对值执行的计算。

试试这个

使用编号4.0024,2;产出4.00

或更新


使用编号65564.0024,2';或编号_format65564.0024,2'.';输出65564.00

4.0027将显示为4.00,如果您使用精度为2的数字_格式对其进行回显,或将其四舍五入到代码中的某个小数点后2位是,但返回字符串结果。我还是要一个小数点后两位的数字