Frage

Ich versuche, ein Echo einer Variablen zu tun enthält 1.400.000. so wird geschrieben: echo round(1400000); dies gibt 1,4E + 6 statt die volle Zahl. Jemand eine Idee, wie man es vollständig angezeigt werden?

War es hilfreich?

Lösung

Es scheint, dass rund um das Problem ist. Habe ich es mit number_format() und dies macht den Job gut. Dank Aron und Paul für die Antworten.

Andere Tipps

Bezug zu Ihrer Frage, ich stieß auch auf diesen Kommentar auf der PHP-Website.

  

PHP-Switches von der Standard-Dezimal   Notation exponentieller Notation für   bestimmte „besondere“ schwebt. Du kannst sehen   eine unvollständige Liste solcher „besonderen“   Werte mit diesem:

for( $tmp = 0, $i = 0; $i < 100; $i++ ) 
{
    $tmp += 100000;
    echo round($tmp),"\n"; 
} 
  

Wenn Sie also zwei Schwimmern hinzufügen, am Ende mit   ein „spezieller“ Wert, z.B. 1.2E + 6, dann   setzen diesen Wert in einem unmodifizierten   Update-Abfrage den Wert in ein speichern   Dezimal-Spalte, sagen, Sie werden wahrscheinlich   erhalten eine fehlgeschlagene Transaktion, da die   Datenbank „1.2E + 6“, wie varchar sehen   Daten, nicht dezimal. Ebenso werden Sie   wahrscheinlich eine XSD-Validierung Fehlermeldung erhalten, wenn   Sie setzen den Wert in xml.

     

Ich muss ehrlich sein: dies ist eine der   die seltsamsten Dinge, die ich gesehen habe in   jede Sprache in mehr als 20 Jahren   Codierung, und es ist ein kolossalen Schmerzen   Umgehen.

Es scheint, hat es nicht eine „echte“ gewesen noch beheben, aber aus den Kommentaren zu urteilen in der Fehlerbericht Paul Dixon referered früher , scheint seine Lösung zu arbeiten.

Möglicherweise im Zusammenhang mit diesem Bugreport , so kann man versuchen,

printf("%d", $myvar);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top