从两个变量计算一个数字

时间:2017-05-04 15:16:29

标签: laravel

我正在尝试使用两个变量完成数学运算:

$cv_moteur = $request->input('cv_moteur');
        $distance = $request->input('nm_distance');

        if($cv_moteur === '7CV'){

            $taux = '0,401';
            $rencontre_officiel->taux = $taux;
            $rencontre_officiel->mt_indemnite_km = $taux * $distance;
  

但是当我调试时我得到了$ rencontre_officiel-> mt_indemnite_km = 0

为什么?我应该得到:40,1。有人知道我为什么得到0?

以下是调试的结果:

#attributes: array:10 [▼
    "rencontre_id" => 38
    "licencie_id" => "125"
    "fonction_officiel_id" => "1"
    "bareme_id" => "1"
    "nm_distance" => "100"
    "mt_prime" => "175.00"
    "cv_moteur" => "7CV"
    "taux" => "0,401"
    "mt_indemnite_km" => 0
    "statut_officiel" => ""

提前多多感谢。

1 个答案:

答案 0 :(得分:1)

在您的情况下,$taux = "0,401";被视为字符串。尝试使用floatval($taux)之类的方法将其转换为数字会产生0,因为正在使用","因为小数点在计算中无效(尽管在语言中有效)。

您需要做的是将","转换为"."

$taux = floatval(str_replace(",",".", $taux));

然后,您应该可以致电:

$rencontre_officiel->mt_indemnite_km = $taux * floatval($distance);