Hanjo: Int in String und umgekehrt

Moin auch,

irgendwie steh ich auf dem Schlauch.

Ich lese aus einem Formular mit <input type="text"... eine Variable ein, die so zwar als String eingegeben wird, aber eine Ziffer darstellt.

Im PHP-Script will ich jetzt mit dieser Ziffer rechnen und das ergebnis wieder als String ausgeben.

Das Konstrukt:
$sAnzal = @$_POST['Anzahl'];
$nAnzahl = doubleval($sAnzahl);
$Preis = $nAnzahl * 12.5;

$message2 .= strval($Preis);

funktioniert nicht, es gibt '0' zurück.

Wer nimmt mir die Tomaten von den Augen ?

Gruß von der Ostsee

Hanjo

  1. Hallo,

    $sAnzal = @$_POST['Anzahl'];

    Bist du sicher, dass du ein @ und nicht ein & meinst?

    $nAnzahl = doubleval($sAnzahl);

    Welche PHP Version Verwendest du?
    http://at.php.net/manual/en/function.floatval.php

    (PHP 4 >= 4.2.0)

    gruß,
    Severin

    --
    Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
    --Philip K. Dick
  2. hi,

    Ich lese aus einem Formular mit <input type="text"... eine Variable ein, die so zwar als String eingegeben wird, aber eine Ziffer darstellt.

    Im PHP-Script will ich jetzt mit dieser Ziffer rechnen und das ergebnis wieder als String ausgeben.

    php kann recht gut selbständig die typ-konvertierung durchführen, explizites umwandeln in einen anderen typ ist idR. nicht nötig.

    Das Konstrukt:
    $sAnzal = @$_POST['Anzahl'];

    uh, ein @ vor einer variablen, hab ich auch noch nicht gesehen :-)
    aber "ordentliches" abprüfen, ob ein wert übermittelt wurde, wäre trotzdem schöner.

    $nAnzahl = doubleval($sAnzahl);
    $Preis = $nAnzahl * 12.5;

    $message2 .= strval($Preis);

    funktioniert nicht, es gibt '0' zurück.

    also ich würd's einfach so versuchen:

    $Preis = $_POST['Anzahl'] * 12.5;
    $message2 .= $Preis;

    wenn da dann immer noch 0 rauskommt, dann solltest du wirklich nochmal überdenken, ob das @ vor der variablen so eine gute idee ist - steht da vielleicht wirklich nichts drin ...?

    gruss,
    wahsaga