Heim >Backend-Entwicklung >PHP-Tutorial >Parsen Sie PHP, um Gleitkommazahlen, Präzisionsoperationen, Zahlenverarbeitung usw. zu verarbeiten.
Dieser Artikel führt Sie in die Verarbeitung von Gleitkommazahlen, Präzisionsoperationen, Zahlenverarbeitung usw. durch PHP ein. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
1. PHP -Schwimmpunkt -Typen werden für Berechnungen verwendet.
2. Gleitkommazahlen haben eine begrenzte Genauigkeit. Obwohl es vom System abhängt, verwendet PHP normalerweise das IEEE 754-Doppelformat, sodass der maximale relative Fehler aufgrund der Rundung 1,11e-16 beträgt. Nicht grundlegende mathematische Operationen können zu größeren Fehlern führen, und die Fehlerfortpflanzung bei der Durchführung zusammengesetzter Operationen muss berücksichtigt werden. Vertrauen Sie einem Gleitkommaergebnis niemals bis zur letzten Ziffer und vergleichen Sie niemals zwei Gleitkommazahlen auf Gleichheit. Wenn Sie wirklich eine höhere Präzision benötigen, sollten Sie mathematische Funktionen mit beliebiger Präzision oder die GMP-Funktion verwenden.
//加 $a = 0.1; $b = 0.7; $c = intval(($a + $b) * 10); echo $c."0c6dc11e160d3b678d68754cc175188a"; //输出:7 //减 $a = 100; $b = 99.98; $c = $a - $b; echo $c."0c6dc11e160d3b678d68754cc175188a"; //输出:0.019999999999996 //乘 $a = 0.58; $b = 100; $c = intval($a * $b); echo $c."0c6dc11e160d3b678d68754cc175188a"; //输出:57 //除 $a = 0.7; $b = 0.1; $c = intval($a / $b); echo $c."0c6dc11e160d3b678d68754cc175188a"; //输出:6
1. Für Mathematik mit beliebiger Genauigkeit bietet PHP binäre Berechnungen, die Zahlen beliebiger Größe und Genauigkeit unterstützen, die durch Zeichenfolgen dargestellt werden.
2. Offizielles Handbuch: php.net/manual/zh/book.bc.php
3 Bevor Sie es verwenden, überprüfen Sie bitte, ob bcmath installiert wurde.
//加 $a = 0.1; $b = 0.7; $c = intval(bcadd($a, $b, 1) * 10); echo $c."0c6dc11e160d3b678d68754cc175188a"; //输出:8 //减 $a = 100; $b = 99.98; $c = bcsub($a, $b, 2); echo $c."0c6dc11e160d3b678d68754cc175188a"; //输出:0.02 //乘 $a = 0.58; $b = 100; $c = intval(bcmul($a, $b)); echo $c."0c6dc11e160d3b678d68754cc175188a"; //输出:58 //除 $a = 0.7; $b = 0.1; $c = intval(bcp($a, $b)); echo $c."0c6dc11e160d3b678d68754cc175188a"; //输出:7
1. bccomp vergleicht zwei Zahlen mit beliebiger Genauigkeit
2. bcmod erhöht die Potenz einer Zahl mit beliebiger Genauigkeit
4. bcpowmod modulus die Potenz hochpräziser Zahlen
5 2. Häufig verwendete numerische Verarbeitungslösungen
echo floor(5.1); //输出:5 echo floor(8.8); //输出:8Rundung um eins (Aufrunden)
echo ceil(5.1); //输出:6 echo ceil(8.8); //输出:9
echo round(5.1); //输出:5 echo round(8.8); //输出:9 //保留两位小数并且进行四舍五入 echo round(5.123, 2); //输出:5.12 echo round(8.888, 2); //输出:8.89 //保留两位小数并且不进行四舍五入 echo substr(round(5.12345, 3), 0, -1); //输出:5.12 echo substr(round(8.88888, 3), 0, -1); //输出:8.88Banker-Rundungsmethode
1.2849 = 1.28 -> 四舍 1.2866 = 1.29 -> 六入 1.2851 = 1.29 -> 五后非空就进一 1.2850 = 1.28 -> 五后为空看奇偶,五前为偶应舍去 1.2750 = 1.28 -> 五后为空看奇偶,五前为奇要进一
Das obige ist der detaillierte Inhalt vonParsen Sie PHP, um Gleitkommazahlen, Präzisionsoperationen, Zahlenverarbeitung usw. zu verarbeiten.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!