Php Can';t插入带小数的数字

Php Can';t插入带小数的数字,php,mysql,Php,Mysql,我在插入十进制数方面有问题。该代码是一个计算工资的“收入系统”。查询将插入2而不是2.50 我的代码如下所示: $quantity = "1"; $earned = $quantity * '2.5'; //type = double //.. query update to table etc.. Mysql: `earned` decimal(10,2) NOT NULL DEFAULT '0.00' 我试着回显挣的美元,它说是2,5而不是2.5,这会是问题吗 解决方案: 我删除了我的s

我在插入十进制数方面有问题。该代码是一个计算工资的“收入系统”。查询将插入2而不是2.50

我的代码如下所示:

$quantity = "1";
$earned = $quantity * '2.5'; //type = double
//.. query update to table etc..
Mysql:

`earned` decimal(10,2) NOT NULL DEFAULT '0.00'
我试着回显挣的美元,它说是2,5而不是2.5,这会是问题吗

解决方案:
我删除了我的setlocale

使用数字类型值而不是字符串,请尝试此

$quantity = 1;
$earned = $quantity * 2.5;

由于您没有发布实际的mysql查询,这是一个不可能的问题,但很可能是
2.5
值是通过您的区域设置在
2,5
中转换的。

最简单的解决方案是引用您在查询中输入的所有值,这样您就不会有任何副作用

如果您回送
$owned
,它显示的是
2,5
,而不是
2.5
,那么除了简单回送之外,您还在做其他事情it@MarkBaker我的代码中没有任何东西可以用逗号替换点。顺便说一句,“2.5”是字符串,乘法将返回浮点;回显浮点将使用小数点(.)显示,除非代码中的其他地方正在更改该值。您使用的是sprint()或number_fommat()或类似的吗?如果您只是回显一个包含浮点值的变量而没有帮助,则区域设置将不会有任何影响,它仍将插入2请检查列“Enward”的类型是否正确DECIMAL(15,2)@MichaelWestergaard没有其他数据丢失的可能性