PHP:使用逗号时结果错误

时间:2018-02-01 11:02:55

标签: php number-formatting

当我用逗号输入数字时,我收到错误!我得到的结果是不正确的。  我得到这个错误:注意:在第34行的C:\ xampp \ htdocs \ Aufgaben \ plus1.php中遇到一个非常好的数值

HTML代码:

<form action ="Tankfüllung.php" method="post"><p>liter1:<input 
type="text"name="num1"size="20"/><p>liter2:<input type="text" name="num2" 
size="20"/><input type="submit" value="Summer" name="submit"/></form>

PHP代码

<?php 
function checkPost($x) {
$result = true;
if (!array_key_exists($x,$_POST)) { return false; }
$result &= (isset($x) && $x != ''); 
return $result;
}
if( isset($_POST["num1"]) || isset($_POST["num2"])) { 
$liter1 = $_POST['num1']; 
$liter2 = $_POST['num2'];
$geld = 1.499;
$liter = ($liter1+$liter2);
$preis = ($liter*$geld);  
echo "Die Benzinkosten betragen für $liter Liter $preis €";
} else {
echo "Fehlermeldung: mindestens 1 Feld wurde nicht korrekt übermittelt.";
}
?>

1 个答案:

答案 0 :(得分:0)

行:$liter = ($liter1+$liter2); 正在尝试添加两个数值或浮点值

如果您使用逗号“1,234”提供$liter1$liter2,这将无效,因为它在PHP中是无效的数字格式

您只需将逗号,替换为点.

即可
$liter1 = "1,234";
$liter1 = floatval(str_replace(',', '.', $liter1));

echo $liter1;
// will print 1.234

甚至更好

NumberFormatter class及其parse method