Zahlen vergleichen will net so wie ich will...
Hallo, hab mal wieder ein Problem und möchte wieder darauf hinweisen, dass ich immer noch Anfänger bin :-)
Erst mal mein Skript:
<?
if (isset($_POST['name'])) {
if ($_POST['name']!="" AND $_POST['datum']!="" AND $_POST['uhrzeit_s']!=""
AND $_POST['dauer']!="" AND $_POST['thema']!="") {
$datum = $_POST['datum'];
$name = $_POST['name'];
$uhrzeit_s =$_POST['uhrzeit_s'].":00";
$dauer =$_POST['dauer'];
$punkt_tester = strpos ($dauer, ".");
if ($punkt_tester === false) {
$dauer = str_replace(",", ".", $dauer);
}
$dauer_speicher = $dauer;
for (; $dauer>0; $dauer--) {
if ($dauer<1 AND $dauer!=0) {
echo "Es ist nicht eine ganze Zahl<br>Rest: $dauer - <blink>$dauer_speicher</blink><br>";
for ($asd=1; $asd<100; $asd++) {
echo "$dauer - ".($asd/100)."<br>";
if ($dauer==($asd/100)) {
$dauer_min=(60*$dauer);
echo "Der Rest ist ".($asd/100)." h, das sind $dauer_min min<br>";
}
}
}
else {
echo "$dauer<br>";
}
} ...
jetz hab ich folgendes Problem. Wenn ich in einer Maske meine Daten für Dauer eingebe macht er nicht wirklich das, was ich will.
Wenn ich Dauer = 2.0 eingebe, macht er das Richtige
Wenn ich Dauer = 2.25, 2.5 oder 2.75 eingebe, dann klappt auch der Vergleich.
Aber wenn ich Dauer = z.B. 2.8, 5.7, 1.11 eingebe, dann klappt der Vergleich von $dauer und $asd/100 net. Wenn ich aber anstatt 1.11 0.11 eingebe (für alle 0.xx), dann klappt es. Ich steige aber net dahinter, warum 2.11 -1 -1 =0.11 anders sein soll, als wenn ich direkt 0.11 eingebe. Hä? Hilfe...
Ich weiß, es ist umständlich geschrieben, aber wie gesagt, ich bin Anfänger. Es muss später in der DB auch Startzeit, Endzeit und Dauer drinnen stehen. Aber das klappt. Nur nicht dieser Vergleich.
Danke schon mal und ich hoffe ihr kommt durch meinen Text einigermaßen durch :-)
Björn
|