2016-07-09 5 views
0

ich gerade frage mich, warum in PHP, wenn ich den Modulo von 123.456 und 100echo, ist das Ergebnis nur 23, sondern der Quotient aus 123.456/100 ist 1.23456. Zum Beispiel:PHP: Modulo-Ergebnis in zwei Ziffern kürzt

<?php 
    echo 123.456 % 100; 
    echo 123.456/100; 
?> 

OUTPUT:

23 
1.23456 

Ich erwarte, dass es sollte die kompletten Dezimalstellen zurück, die 23456 ist, aber es rund in zwei Dezimalstellen ab, statt. Ich bin neu in PHP, und ich habe keine Ahnung, ob dies ein normales Verhalten von modulo ist. Und wenn ja, gibt es eine Möglichkeit, mein erwartetes Ergebnis zu erhalten?

Vielen Dank im Voraus! :)

+1

['Für Nicht-Ganzzahlen müssen Sie fmod verwenden] (http://php.net/manual/en/function.fmod.php) Funktion von PHP. Und der Modulwert von '123.456% 100' ist' 23.456' und funktioniert gut. [Hier prüfen] (https://3v4l.org/M8GGf) [google it] (https://www.google.co.in/#q=123.456+%25+100). Es scheint, dass Sie keine Ahnung davon haben, wie Modulo funktioniert, was die mathematische Logik dahinter ist –

+0

Hallo @ Uchiha, danke für das Hinzeigen. :) – Chisskarzz

Antwort

-1

Was ist, wenn Sie es zwingen zu schweben?

echo (float)(123.456 % 100); 

Das Problem scheint zu sein, dass es es als eine ganze Zahl analysiert.

Verwandte Themen