2017-09-17 5 views
0

Ich möchte überprüfen, ob eine Nummer einen Punkt hat oder nicht. Wie macht man das mit PHP?Überprüfen, ob eine Nummer einen Punkt hat

$numberOne = 5; 
$numberTwo = 8; 
$result = $numberTwo/$numberOne; 

if ($result) { 
    echo "No comma!"; 
} else { 
    echo "Comma!"; 
} 
+1

Wenn Sie überprüfen möchten, ob es sich um ein Float handelt, verwenden Sie einfach 'is_float()'. Oder wenn du überprüfen willst, ob es eine ganze Zahl ist, kannst du 'floor ($ result) == $ result' machen. – Qirel

+0

Sprichst du von einem Komma als Tausendertrennzeichen oder als Dezimaltrennzeichen? Wenn letzteres der Fall ist, sehen Sie sich [fmod()] (http://php.net/manual/en/function.fmod.php) an, das einen Wert von Null oder einen Wert ungleich Null für 'fmod ($ result, 1) zurückgibt. 'abhängig davon, ob der Float Dezimalzahlen hat oder nicht –

+0

' 5/8 'ergibt' 0,625' ohne Komma – RomanPerekhrest

Antwort

-1

Wenn Sie meinen, wie Sie überprüfen, ob $ result float oder ganze Zahl ist, so das der Weg

$numberOne = 5; 
$numberTwo = 8; 
$result = $numberTwo/$numberOne; 
if(is_float($result)){ 
echo "No comma!"; 
}else{ 
echo "Comma!"; 
} 

Nur Komma ersetzen ist und kein Komma ...

2

Die Dokumentation von arithmetic operators erwähnt :

Der Division-Operator ("/") gibt einen Gleitkommawert zurück, es sei denn, t Wo Operanden sind Ganzzahlen (oder Zeichenfolgen, die in Ganzzahlen konvertiert werden) und die Zahlen sind gleichmäßig teilbar, in diesem Fall wird ein ganzzahliger Wert zurückgegeben.

Wenn der Wert, den Sie ist das Ergebnis einer Division von ganzen Zahlen überprüfen wollen, ist dann die Bedingung „sind die Zahlen gleichmäßig teilbar“ bedeutet auch das Ergebnis der Restoperator („%“) ist 0 (Null).

Sie haben nicht einmal das Ergebnis der Division berechnen müssen, um zu wissen, ob es eine ganze Zahl oder eine reelle Zahl ist:

$numberOne = 5; 
$numberTwo = 8; 

if ($numberTwo % $numberOne) { 
    echo "The result is not integer. Its representation has a comma."; 
} else { 
    echo "The result is an integer number."; 
} 

Wenn der Typ einer der Zahlen, die Sie ist teilen wollen nicht Ganzzahl und Typ des Ergebnisses ist float, unabhängig davon, ob der Wert ganzzahlig ist oder nicht.

Verwandte Themen