函数floatval()我尝试将带小数的字符串转换为浮点数,但它不会给我想要的结果。 Here's代码:PHP:带小数点的字符串在转换为浮点数时带小数
$price_calc = str_replace(',','.',$price);
$reduction_calc = str_replace(',','',$reduction);
$reduction_calc = '1.'.$reduction;
$price_calc = floatval($price_calc);
$reduction_calc = floatval($reduction_calc);
$oldprice = $price_calc * $reduction_calc;
这个代码块是从铲运机I'm建筑,取价($价格)和减少($减少)的百分比。从这个价格和减少我试图计算旧价格。
在进行计算之前,我必须将$ price和$ reduction分别转换为float。这是哪里出错
问题是,例如,当$减少是51例如,值$ reduction_calc应该是1.51。由于一些奇怪的原因,在应用floatval()后,变量$ reduction_calc变为1.
有没有人知道为什么?提前致谢!
+1
'$ reduction_calc = floatval(str_replace函数之前添加以下代码(” '','str_replace('。','',$ reduction_calc)));'为什么用''替换'.',然后替换','(如果$减少是51 ie)与'.'? –
+0
这是一个错误。它应该被不同地替换。由于它的内容已被删除,因此如果在百分比中出现逗号,我想要进行某种回退。我应该只用逗号替换为空。我已经改变了(上面更新的代码),但结果是一样的。 –