PHP 计算 POST 中的数字,逗号为十进制


PHP counting numbers from POST with comma as decimal

我有一个来自 POST。例如 2,5 的用户类型...我需要从 2,5 转换为 2.5(使其适合前向计算)......我使用:

$eddited_input = str_replace(',', '.', $input);

它有效,但是当我查看结果时,它们不正确......有人可以帮助我吗?

以下是完整的代码:

if($typ_vypoctu == 1){
    $pocatecni_castka = $_POST["pocatecni_castka"];
    urokova_sazba = $_POST["urokova_sazba"];
    $frekvence_uroceni = $_POST["frekvence_uroceni"];
    $doba_uroceni = $_POST["doba_uroceni"];
    $upravena_castka = str_replace(',', '.', $pocatecni_castka);
    $upravena_sazba = str_replace(',', '.', $urokova_sazba);
    $upravena_doba = str_replace(',', '.', $doba_uroceni);
    if(!empty($pocatecni_castka) AND !empty($urokova_sazba) AND !empty($frekvence_uroceni) AND !empty($doba_uroceni)){
        if(is_numeric($upravena_castka) AND is_numeric($upravena_sazba) AND is_numeric($upravena_doba)){
            $urocitel = (1 + ($urokova_sazba / (100 * $frekvence_uroceni)));
            $mocnina = $upravena_doba * $frekvence_uroceni;
            $mocnina_urocitele = pow($urocitel, $mocnina);
            $vysledek = $mocnina_urocitele * $upravena_castka;
            $zaokrouhleni_vysledku = round($vysledek, 0);
            $hezky_vysledek = oddeleni_null($zaokrouhleni_vysledku);
            $jednoduche = round($pocatecni_castka * (1 + (($upravena_sazba / 100) * $upravena_doba)), 0);
            $rozdil = $zaokrouhleni_vysledku - $jednoduche; 
            echo "<table class='table'>";
            echo "<tr><td><h4><b>Konečná částka: </b></h4></td><td><h4>" . $hezky_vysledek . " Kč</h4></td></tr>";
            if($rozdil > 0){
                echo "<tr><td colspan='2'>V případě jednoduchého úročnení by konečná částka byla " . oddeleni_null($jednoduche) . " Kč, to je o <font color='red'>" . oddeleni_null($rozdil) . " Kč</font> méně.</td></tr>";    
            }elseif ($rozdil < 0) {
                echo "<tr><td colspan='2'>V případě jednoduchého úročnení by konečná částka byla " . oddeleni_null($jednoduche) . " Kč, to je o <font color='green'>" . oddeleni_null($rozdil - (2 * $rozdil)) . " Kč</font> více.</td></tr>";  
            }
            echo "</table>";
        }else{
            echo "<div class='alert alert-danger' role='alert'><b>Upozornění:</b> Hodnoty musí být zadány číselně!</div>";
        }
    }else{
        echo "<div class='alert alert-danger' role='alert'><b>Upozornění:</b> Všechna pole jsou povinná!</div>";
    }

}

好的。要用同一变量中的另一个字符串替换一个字符串,您必须在存储字符串的同一变量中进行修改。

$new="My name is akshay , and i love coding";
$new=str_replace(",",".",$new);
echo $new;
// OUTPUT : My name is akshay . and i love coding