Cet article présente principalement la méthode PHP utilisant des opérations sur des nombres super longs (super grands) pour empêcher les nombres d'être affichés en notation scientifique, et implique des compétences connexes dans les opérations mathématiques PHP et les opérations sur les chaînes. J'espère que cela aide tout le monde. L'exemple de cet article décrit comment PHP utilise des opérations sur des nombres super longs (super grands) pour empêcher l'affichage des nombres en notation scientifique. Je les partage avec vous pour votre référence.
Les détails sont les suivants :
PHP fera des erreurs lors du calcul d'opérations numériques volumineuses. Lorsque le nombre est trop grand, la valeur deviendra une notation scientifique. Alors, comment effectuer des opérations numériques extrêmement volumineuses. en PHP, y compris l'addition, la soustraction, la multiplication et la division ? , qu'en est-il des opérations de puissance, des racines carrées et des opérations modulo ?
Pour résoudre le problème de la notation scientifique, ajoutez simplement une paire de guillemets lors de l'attribution de valeurs.
Par exemple :
<?php $n = '22222222222222222222222222220'; echo $n; ?>
Sans guillemets, il affiche 2.2222222222222E+28. Avec des guillemets, il affiche 22222222222222222222222222220
Opérations numériques extrêmement volumineuses, y compris l'addition, soustraction, multiplication et division, opérations de puissance, racines carrées et opérations modulo.
Utiliser PHP La fonction bcmath crée une fonction personnalisée. Le code est le suivant,
<?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'); ?>
Méthode d'utilisation :
calc(paramètre 1, paramètre 2, paramètre 3);
Le paramètre 3 spécifie la méthode de fonctionnement : ajouter, soustraire, mul, division p, puissance pow, mod modulo, sqrt pour trouver l'arithmétique racine carrée
addition, soustraction, division : paramètre 1 plus/soustraire/multiplier/diviser paramètre 2
puissance : paramètre 1 élevé à la puissance du paramètre 2.
Modulo : Le reste obtenu en divisant le paramètre 1 par paramètre 2.
Racine carrée arithmétique : Trouvez la racine carrée arithmétique du paramètre 1. Le paramètre 2 n'a aucun effet, mais ne peut pas être omis
Recommandations associées :
Introduction détaillée aux opérateurs php et exemples d'expressions_php
PHP 6 : types de données de base PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!