variabelnart überprüfen (integer)

Chris Kurt

Erfahrenes Mitglied
holá,

kann man mit php überprüfen ob eine variabel (forumlarfeld-eingabe) eine (gerade) zahl (integer) ist?

in flash würde das so gehen:

temp = typeof ( eingabevariabel );

if (temp == "integer"){
das.ist.wohl.ne.zahl;
}


gibt´s da nen ähnlichen php-befehl? oder ist typeof sogar php-tauglich?
 
php hat doch kein typecasting in dem sinne!

du müsstest also probieren die variable zu runden, dann schauen ob sie ungleich 0 ist und dann die differenz des anfangswertes mit der gerundeten zahl bilden. wenn die dann 0 ist wars ne ganze zahl!!
 
ähm...

wie rundet man nochmal ne zahl?

da ist man als flash-scripter ein wenig verwöhnt, ich kenn nur den befehl int(4,28976) da krieg ich dann ne 4 raus...

war das nicht irgendwas mit ganz oft durch 2 teilen bis ne 1 oder ne 0,irgendwas rauskommt und dann wieder malnehmen oder so?
 
Syntax

round("Zahl",["Anzahl der Nachkommastellen"])

Erklärung

Die Funktion round gibt die übergebene Zahl in kaufmännischer Rundung zurück, d.h. für Werte von 5 und größer wird die vorherige Stelle um eins erhöht, ansonsten werden die folgenden Stellen lediglich abgeschnitten. Die Angabe der "Anzahl der Nachkommastellen" ist optional, wird diese weggelassen, so erfolgt die Rundung auf ganze Zahlen.

Vergleiche auch ceil, floor.

Beispiel

PHP:
<?php
echo round(14.5)."<br>"; 
echo round(14.4)."<br>";
echo round(14.537,2); 
?>


Ergebnis: 15
14
14.54


*edit*
das ganze mit dem runden is deshalb so, weil strings als 0 gerundet werden! problem is höchstens ein string "1283 halihallo" den rundet er dir als 1283
 
-

Ansonsten kannst du das auch mit settype() machen
PHP:
$bla = 3.14;
settype( $bla, integer );
echo $bla; // gibt 3 aus.

Wenn du dann noch wissen willst, ob sie gerade oder ungerade ist
PHP:
if ( ($bla) % 2 ) == 0
 {
  //ist gerade
 }else
 { 
 // ist ungerade
}
 

Neue Beiträge

Zurück