Parsen Sie PHP, um Gleitkommazahlen, Präzisionsoperationen, Zahlenverarbeitung usw. zu verarbeiten.

藏色散人
Freigeben: 2023-04-10 06:08:02
nach vorne
6005 Leute haben es durchsucht

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.

Vorwort

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.

一. Operationen

Error

 //加
 $a = 0.1; $b = 0.7; $c = intval(($a + $b) * 10); echo $c."<br>"; //输出:7
     //减
 $a = 100; $b = 99.98; $c = $a - $b; echo $c."<br>"; //输出:0.019999999999996
     //乘
 $a = 0.58; $b = 100; $c = intval($a * $b); echo $c."<br>"; //输出:57
     //除
 $a = 0.7; $b = 0.1; $c = intval($a / $b); echo $c."<br>"; //输出:6
Nach dem Login kopieren

Correct

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."<br>"; //输出:8
     //减
 $a = 100; $b = 99.98; $c = bcsub($a, $b, 2); echo $c."<br>"; //输出:0.02
     //乘
 $a = 0.58; $b = 100; $c = intval(bcmul($a, $b)); echo $c."<br>"; //输出:58
     //除
 $a = 0.7; $b = 0.1; $c = intval(bcp($a, $b)); echo $c."<br>"; //输出:7
Nach dem Login kopieren

Zusätzlich zur Addition, Subtraktion, Multiplikation und Division bietet bcmath auch die folgenden Methoden:

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

Runden durch Runden (Abrunden)
echo floor(5.1);
//输出:5

echo floor(8.8);
//输出:8
Nach dem Login kopieren
Rundung um eins (Aufrunden)

echo ceil(5.1);
//输出:6

echo ceil(8.8);
//输出:9
Nach dem Login kopieren

Gewöhnliche Rundungsmethode
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.88
Nach dem Login kopieren
Banker-Rundungsmethode

1. Runden auf fünf Betrachten Sie fünf Wenn die letzten fünf nicht leer sind, dann rücken Sie um eins vor. Wenn die letzten fünf leer sind, suchen Sie nach ungeraden oder geraden Zahlen. Wenn die ersten fünf ungerade sind, dann rücken Sie um eins vor .

2. Behalten Sie zwei Dezimalstellen bei. Beispiel:

rrree

Numerische Formatierung (Tausendergruppierung)

1. Wird auf die Anzeige von Beträgen angewendet, die wir häufig sehen.

 1.2849 = 1.28 -> 四舍
 1.2866 = 1.29 -> 六入
 1.2851 = 1.29 -> 五后非空就进一
 1.2850 = 1.28 -> 五后为空看奇偶,五前为偶应舍去
 1.2750 = 1.28 -> 五后为空看奇偶,五前为奇要进一
Nach dem Login kopieren

Empfohlenes Lernen: „PHP-Video-Tutorial

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!

Verwandte Etiketten:
php
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage