0

使用函数 floatval() 我尝试将带小数的字符串转换为浮点数,但它并没有给我想要的结果。这是代码:

    $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;

这段代码来自我正在构建的获取价格($price)和减少百分比($reduction)的刮板。从那个价格和减少我试图计算旧价格。

在能够进行计算之前,我必须将 $price 和 $reduction 都转换为浮动。这就是它出错的地方

问题是,例如当 $reduction 是 51 时,值 $reduction_calc 应该是 1.51 。由于某些奇怪的原因,在应用 floatval() 后,变量 $reduction_calc 变为 1。

有人知道为什么吗?提前致谢!

4

2 回答 2

0

尝试这个:

$reduction_calc = floatval($reduction_calc);
于 2012-05-17T14:26:31.907 回答
0

您的$reduction$price字符串中可能有前导/尾随空格在脚本之前添加此代码

$reduction = trim($reduction);
$price = trim($price);
于 2012-05-17T17:39:03.893 回答