• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ganzahliges ergebniss mit intval

burn4ever

Mitglied
Hallo,
ich möchte mir folgende rechnung nur ganzzahlig ausgeben lassen aber mit meiner "intval" Zeile klappt das noch nicht ganz.
Wie kann ich die Variable $ergebniss zum Schuß ganzzahlig formatieren.

PHP:
<?php

$liter = $_POST["liter"];

if ($_POST["sorte"] == "S"){

    $ergebniss = $liter * 1.35;
    $text = "Super";
}
else{

    $ergebniss = $liter * 1.40;
    $text = "Benzin";
}
if($_POST["liter"] >= 100)
    
    $ergebniss = $ergebniss * 0.98;
    $ergebniss = intval($ergebniss):

    echo $_POST["liter"] ." Liter $text kosten $ergebniss &euro;"
?>
 
Das Ergebniss selber enhält kein S. Nur Zahlen.

Echo wird überhaupt nicht auf dem Bildschirm ausgegeben.
Lasse ich die Zeile weg, funktioniert es:
PHP:
 $ergebniss = intval($ergebniss):
 
Er meint das Wort Ergebnis wird mit einem "s" geschrieben ^^


Echo wird überhaupt nicht auf dem Bildschirm ausgegeben.
Lasse ich die Zeile weg, funktioniert es:

Das liegt daran, dass bei der genannten Zeile ein Doppelpunkt ( : ) ist und kein Semikolon ( ; ) welches sein müsste.

Da deine Scripte keine Fehler ausgeben, konntest du das nicht sehen und es wurde einfach garnix ausgegeben.

1. Füge in den ersten beiden Zeilen deines Scriptes folgendes ein:

PHP:
<?php
error_reporting( E_ALL );

Danach solltest du den Fehler sehen können.

2. Tausche Doppelpunkt ( : ) durch ein Semikolon ( ; ) aus in der besagten Zeile.


Viel Spaß mit dem Script.
 
Oh, gutes Auge oder gut in den Editor kopiert.

intval rundet übrigens tatsächlich „falsch“ (immer ab).

PHP:
$ergebniss = intval(round($ergebniss));

- PHP: round - Manual

Das intval steht dort noch, weil round eine Zahl vom Typ Float liefert. Wenn tatsächlich eine Ganzzahl/ein Integer gewollt ist, muss es hinzugefügt werden, auch wenn das mehr ein internes Problem ist, wie der Computer die Zahlen speichert.
 
In den Editor kopieren ist mir zu viel Aufwand^^ Es ist mir aufgefallen, weil genau dadrüber "funktioniert es:" steht und die Doppelpunkte 1:1 gleich waren.

Ist das nicht so, dass intval einfach alles nach dem Komma weglässt, inklusive Komma ?

0,61 = 0
0,22 = 0
0,99 = 0
1,01 = 1
1,99 = 1

?
 
Zurück
Oben