Seite 1 von 1
prüfen, ob eine rechnung ein ganzzahliges ergebnis hat
Verfasst: 24.12.2006 14:36
von langeweile
ich würde gerne ein script bauen, mit einem teil, der so aussieht:
$var1 = $var2 / $var3;
if ($var1 = <ganzzahlig)
.....
gibt es einen php befehl, welcher prüft ob eine zahl ganzzahlig ist, also keine nachkommastellen hat?
Verfasst: 24.12.2006 14:45
von Jan500
hi
mach
wenn du willst, das der auch strings auswertet mach
was genau willst du denn machen? evtl hilft dir auch die funktion round() weiter...
Jan
Verfasst: 25.12.2006 00:00
von gn#36
Das halte ich nicht unbedingt für eine sinnvolle Abfrage, schließlich konvertiert die Funktion intval in einen Integer (also Zahlenwert ohne Nachkommastellen), daher dürfte nie etwas anderes als true herauskommen.
Ich denke das müsste auch ohne Konvertierung funktionieren, denn wenn der String eine gültige Zahl ist, dann wird diese Verwendet, andernfalls wird der Wert 0.
Verfasst: 25.12.2006 00:39
von fanrpg
Code: Alles auswählen
function ganze_zahl( $zahl )
{
if( strpos($zahl, '.') )
{
return false;
}
else
{
return true;
}
}
if( ganze_zahl($zahl) )
{
// Tue irgendwas wenn zahl ist ganz
}
Denke das dürfte funktionieren, da nicht ganze Zahlen ja im Normalfall einen Punkt haben dürften.
Verfasst: 25.12.2006 00:48
von gn#36
Zumindest wenn man vernachlässigt dass die Variable auch nicht-numerisch sein könnte...
Code: Alles auswählen
if(preg_match("/^[0-9]+$/",$var1)
{
//Var ist integer
}
Verfasst: 26.12.2006 16:40
von Miriam
Der Quotient ist dann ganzzahlig, wenn die Ganzzahldivsion auch 0 ist.
Code: Alles auswählen
$var3 = $var1/$var2;
if (!($var1%$var2)) echo $var3 . " ist ganzzahlig";
else echo $var3 . " ist nicht ganzzahlig";