Nicht die Rundung macht es -0.
Die Variable $ round enthält dies vor der letzten Zeile:
%Vor%Sie können dies durch Hinzufügen dieser Zeile überprüfen:
%Vor%vor dem Echo.
Wenn Sie also "0.0" (string) mit -1 multiplizieren, wird das Ergebnis "-0"
seinWeil (Zeichenkette) 0 vor der Multiplikation auf (float) 0 geworfen wird und
%Vor%Was völlig normal ist, basiert auf dem Verhalten der Anzahl der Gleitkommazahlen. (Weitere Details: Ссылка )
Wenn dies ein Problem ist, können Sie 0 hinzufügen, um diese "Magie" zu vermeiden:
%Vor%Da number_format eine Zeichenfolge zurückgibt, müssen Sie sie umwandeln, um das erwartete Ergebnis zu erhalten.
%Vor%Sie PHP-Code ist es unorganisiert.
Ich nehme an, dass var $ xx in der zweiten Zeile $ num ist.
Dann müssen Sie zuerst alle Operationen (Operationsebene) durchführen und dann Präsentationen (Präsentationsschicht) durchführen:
%Vor%Wenn Sie ein Zahlenformat verwenden, rufen Sie eine Zeichenfolge und keine Nummer ab.
Tags und Links php rounding floating-point