<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Die folgenden Teile haben nichts mit dem Inhalt des Artikels zu tun</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Dies ist der Anfangscode des Beispiels\n"</span></span><span>;
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">demo</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"Demo function output"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Starten Sie den Text</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>Wie man es vermeidet json_decode Funktionen analysieren JSON Die digitale Genauigkeit geht verloren?</h1>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>existieren PHP Mitte,verwenden <code>json_decode " ; Echo " Wenn Sie JSON_DECODE verwenden, um direkt zu analysieren:
" ; Echo "\ $ data = json_decode (\ $ json, true); \ nvar_dump (\ $ data);" ; Echo "
Die erhaltenen Ergebnisse können ungenaue Zahlen verursachen, die zu wissenschaftlichen Notationsergebnissen werden oder die Endzahlen verloren gehen.
" Echo "Die Kernidee der Lösung besteht darin, große Zahlen als Zeichenfolgen zu verarbeiten, anstatt sie direkt in Ganzzahlen oder Gleitpunktzahlen zu analysieren. Die folgenden Methoden werden häufig verwendet:
" ; Echo "\ $ data = json_decode (\ $ json, true, 512, json_bigint_as_string); \ nvar_dump (\ $ data);" ; Echo "
Der JSON_BIGINT_AS_string hier wandelt Zahlen um, die den PHP -Ganzzahlbereich überschreiten, wodurch der Präzisionsverlust vermieden wird.
" ; Echo "Wenn Sie die JSON -Datenerzeugung steuern, können Sie bei der Generierung von JSON:
" ; Echo "{\" big_number \ ": \" 12345678901234567890 \ "} " ; Echo " Auf diese Weise wird die Zeichenfolge direkt während des PHP -Parsens erhalten, ohne Präzision zu verlieren.
" ; Echo "Wenn Sie in großen Zahlen Mathe machen müssen, können Sie die BCMath- oder GMP -Erweiterung von PHP verwenden:
" ; Echo "\ $ bignumber = \ $ data ['big_number']; \ necho bcadd (\ $ bInnumber, '1');" ; Echo "
Auf diese Weise können Berechnungen in jeder Genauigkeit durchgeführt werden, um Probleme der Genauigkeit von schwimmenden Punkten zu vermeiden.
" Echo "