2017-08-06 4 views
-1

Wie fügen wir eine Null vor der Dezimalstelle in PHP?Add Null vor dem Komma einer Zahl

I .96-0.96

Jetzt in meinem PHP-Code konvertiert werden soll, ich bin Abrufen von Daten von Wordpress mit get_attribute

<td><?php echo $_product->get_attribute('pa_carat');?></td> 
+1

Mögliches Duplikat [eine Zahl mit führenden Nullen in PHP Formatierung] (https://stackoverflow.com/questions/1699958/formatting-a-number-with-leading-zeros-in -php) – jordiburgos

+0

OP Blick auf den obigen Link. Die Wahl des Zahlenformats wird Ihnen langfristig Kopfschmerzen bereiten. – Andreas

+0

Hier ist sprintf auch enthalten. Nur floatval erzeugt jedes Mal den richtigen Wert. https://3v4l.org/opkMj – Andreas

Antwort

-1

Die gewünschte Funktion ist number_format

echo number_format(0.96, 2); 

Alternativ können Sie einfach nachsehen und es voranzustellen, wenn es fehlt.

if ($num[0] == '.') 
    $num = '0' . $num; 

Das wird nicht mit negativen Zahlen umgehen, Sie müssten dafür ein wenig mehr Logik schreiben.

+0

was! das war einfach .. ich habe number_format im forum gelesen und obwohl es nur null hinter dem dezimal addiert. Danke Geoffrey –

+0

Die Antwort ist richtig, ich bevorzuge @ Andreas Antwort auf meine eigene, aber es macht diese Methode nicht weniger genau. Auch die Prepend-Option ist ungefähr 10x schneller als das Casting, um zu schweben, es hängt davon ab, wie du es machen willst. Warum also die Down-Stimmen? – Geoffrey

+0

@Geoffrey 'Auch die Prepend-Option ist etwa 10x schneller als Casting zu Floaten" Wie bist du zu dieser Schlussfolgerung gekommen? Soweit ich sehen kann, sind sie ziemlich eng, aber mit dem zusätzlichen Vorteil, dass floatval tatsächlich jedes Mal die korrekten Werte produziert. Zahlenformat: https://3v4l.org/cFXoQ/perf#output vs floatval: https://3v4l.org/A9LKK/perf#output. Selbst wenn Floatval 10x langsamer ist, gibt es immer noch korrekte Ausgaben, was das Zahlenformat nicht tut. Wie können Sie die Geschwindigkeit mit der falschen Ausgabe vergleichen? – Andreas

Verwandte Themen