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

时间:2016-07-10 12:10:12

标签: php

我有一个POST。用户类型为例如2,5 ...我需要将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>";
    }


}

1 个答案:

答案 0 :(得分:0)

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

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