PHP: number_format Rundung

8

Hi Ich habe ein Problem beim Runden von Zahlen auf -0 und nicht nur auf 0

code:

%Vor%

Ausgabe: -0

erwartete Ausgabe: 0

Ich habe nach einer Lösung gesucht, aber nichts gefunden.

bitte erklären & amp; mir helfen, warum es sich auf -0 anstatt auf 0 beläuft? Danke

    
sa.lva.ge 24.12.2014, 11:58
quelle

3 Antworten

6

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"

sein

Weil (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%     
Lajos Veres 24.12.2014, 12:15
quelle
0

Da number_format eine Zeichenfolge zurückgibt, müssen Sie sie umwandeln, um das erwartete Ergebnis zu erhalten.

%Vor%

PHP-Sandbox

    
Riad 24.12.2014 12:15
quelle
0

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.

    
Javier Valencia 24.12.2014 12:10
quelle

Tags und Links