Heim > Artikel > Backend-Entwicklung > Beispiele dafür, wie PHP extrem lange Ziffernoperationen verwendet, um zu verhindern, dass Zahlen in wissenschaftlicher Notation angezeigt werden
In diesem Artikel wird hauptsächlich die Methode von PHP vorgestellt, bei der superlange (supergroße) Zahlenoperationen verwendet werden, um zu verhindern, dass Zahlen in wissenschaftlicher Notation angezeigt werden, und es werden entsprechende Kenntnisse in PHP-Mathematikoperationen und String-Operationen vermittelt. Ich hoffe, es hilft allen. Das Beispiel in diesem Artikel beschreibt, wie PHP superlange (supergroße) Zahlenoperationen verwendet, um zu verhindern, dass Zahlen in wissenschaftlicher Notation angezeigt werden. Ich teile sie Ihnen als Referenz.
Die Details sind wie folgt:
PHP macht bei der Berechnung großer numerischer Operationen Fehler. Wenn die Zahl zu groß ist, wird der Wert in eine wissenschaftliche Notation umgewandelt Operationen, einschließlich Addition, Subtraktion, Multiplikation und Division? Was ist mit Potenzoperationen, Quadratwurzeln und Modulooperationen?
Um das Problem der wissenschaftlichen Notation zu lösen, fügen Sie beim Zuweisen von Werten einfach ein Paar Anführungszeichen hinzu.
Zum Beispiel:
<?php $n = '22222222222222222222222222220'; echo $n; ?>
Ohne Anführungszeichen wird 2.2222222222222E+28 angezeigt. Mit Anführungszeichen wird 2222222222222222222222222220 angezeigt
Extrem große numerische Operationen, einschließlich Addition und Subtraktion , Multiplikation und Division, Potenzoperationen, Quadratwurzeln und Modulooperationen.
Verwenden Sie PHP. Die bcmath-Funktion erstellt eine benutzerdefinierte Funktion. Der Code lautet wie folgt:
<?php function calc($m,$n,$x){ $errors=array( '被除数不能为零', '负数没有平方根' ); switch($x){ case 'add': $t=bcadd($m,$n); break; case 'sub': $t=bcsub($m,$n); break; case 'mul': $t=bcmul($m,$n); break; case 'p': if($n!=0){ $t=bcp($m,$n); }else{ return $errors[0]; } break; case 'pow': $t=bcpow($m,$n); break; case 'mod': if($n!=0){ $t=bcmod($m,$n); }else{ return $errors[0]; } break; case 'sqrt': if($m>=0){ $t=bcsqrt($m); }else{ return $errors[1]; } break; } $t=preg_replace("/\..*0+$/",'',$t); return $t; } /*用法举例*/ echo calc('11111111111111111111111111111111110','10','add'); ?>
Verwendungsmethode:
calc(Parameter 1, Parameter 2, Parameter 3);
Parameter 3 gibt die Operationsmethode an: addieren, subtrahieren, mul, p dividieren, pow power, mod modulo, sqrt, um das arithmetische Quadrat zu finden Wurzel
Addition, Subtraktion und Division: Parameter 1 plus/subtrahieren/multiplizieren/dividieren Parameter 2
Potenz: Parameter 1 potenziert mit Parameter 2.
Modulo: Der Rest, der durch Division von Parameter 1 durch Parameter erhalten wird 2.
Arithmetische Quadratwurzel: Finden Sie die arithmetische Quadratwurzel von Parameter 1. Parameter 2 hat keine Auswirkung, kann aber nicht weggelassen werden
Verwandte Empfehlungen:
Detaillierte Einführung in PHP-Operatoren und Ausdrücke_php-Beispiele
Das obige ist der detaillierte Inhalt vonBeispiele dafür, wie PHP extrem lange Ziffernoperationen verwendet, um zu verhindern, dass Zahlen in wissenschaftlicher Notation angezeigt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!