Maison >développement back-end >tutoriel php >Utilisation courante des fonctions mathématiques en PHP

Utilisation courante des fonctions mathématiques en PHP

墨辰丷
墨辰丷original
2018-05-17 14:27:042428parcourir

Cet article présente principalement l'utilisation des fonctions mathématiques courantes en PHP. Il répertorie brièvement les fonctions d'opérations mathématiques courantes en PHP et donne les fonctions et les compétences d'utilisation des fonctions de haute précision bc sous la forme d'exemples auxquels les amis dans le besoin peuvent se référer. it

Les exemples de cet article décrivent l'utilisation de fonctions mathématiques PHP courantes et de fonctions mathématiques de haute précision BC. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1. bcadd Ajout de nombres de précision arbitraires
2 bcsub Soustraction de nombres de précision arbitraires
3. multiplication bcmul, division bcp<.>4 . bcmod prend le reste. (Plus puissant que %)
5. Opération de fonction de puissance bcpow
6. Racine carrée bcsqrt
7. Opération de racine carrée sqrt
7. exponentiation pow
8. >9. pi obtient la valeur de pi

fonction trigonométrique

sin cos tan asin acos atan (exprimé en radians)

deg2rad L'angle est converti en radians

rad2deg Convertir des radians en angles

exposant

log pour trouver le logarithme népérien, log10 pour trouver le logarithme à la base 10

exp à la puissance de e comme base


Diverses conversions de systèmes numériques

base_convert Conversion universelle de systèmes numériques arbitraires

bindec Convertir le binaire en décimal

decbin Convertir le décimal en binaire
dechex Convertir le décimal en hexadécimal
decoct Convertir le décimal en octal
hexdec Convertir le hexadécimal en décimal
octdec Convertir l'octal en décimal

Exemple d'utilisation de la fonction de haute précision BC :

<?php
 /***************************************************************************************
 *php BC高精确度函数库
 *php bc math 包含了:相加,比较,相除,相减,求余,相乘,n次方,配置默认小数点数目,求平方
 *这些函数在涉及到有关金钱的计算时比较有用
 ***************************************************************************************
 *两个高精度数比较
 *工作中遇到一种情况,0.00 != 0
 *int bccomp ( string $left_operand , string $right_operand [, int $scale ] )
 *$left=$right 返回 0
 *$left<$right 返回 -1
 *$left>$right 返回 1
 *$scale 小数点位数
 ***************************************************************************************/
$a = 4.45;
$b = 5.54;
if(bccomp($a, $b, 2) == 0)
{
 echo "完全相等";
}
/***************************************************************************************
 *两个高精度数相加
 *string bcadd ( string $left_operand , string $right_operand [, int $scale ] )
 *$scale 返回的小数点个数
 ***************************************************************************************/
$a = 1.0321456;
$b = 0.0123456;
$c = bcadd($a, $b, 2);
var_dump($c);
/***************************************************************************************
 *两个高精度数相减
 *sstring bcsub ( string $left_operand , string $right_operand [, int $scale ] )
 *$scale 返回的小数点个数
 ***************************************************************************************/
$a = 1.0321456;
$b = 3.0123456;
$c = bcsub($a, $b, 2);
var_dump($c);
/********************************************************
 *两个高精度数求余/取模
 *string bcmod ( string $left_operand , string $modulus )
 *******************************************************/
$a = 6;
$b = 4;
$c = bcmod($a, $b);
var_dump($c);
/***************************************************************************************
 *两个高精度数相除
 *string bcp ( string $left_operand , string $right_operand [, int $scale ] )
 *$scale小数点位数默认为 0
 ***************************************************************************************/
 $a = 6;
 $b = 5;
 $c = bcp($a, $b, 3);
 var_dump($c);
/***************************************************************************************
 *两个高精度数相乘
 *string bcmul ( string $left_operand , string $right_operand [, int $scale ] )
 *$scale小数点位数默认为 0
 ***************************************************************************************/
$a = 3.1415926;
$b = 2.4569874566;
$c = bcmul($a, $b, 6);
var_dump($c);
/***************************************************************************************
 *两个高精度数的次方值
 *string bcpow ( string $left_operand , string $right_operand [, int $scale ] )
 *$scale小数点位数默认为 0
 ***************************************************************************************/
$a = 3.1415926;
$b = 2;
$c = bcpow($a, $b, 3);
var_dump($c);
/**************************************************
 *求高精度数的平方根
 *string bcsqrt ( string $operand [, int $scale ] )
 *$scale小数点位数默认为 0
 ***************************************************/
$b = bcsqrt($a, 6);
var_dump($b);
/******************************
 *设置bc函数的小数点位数
 *bool bcscale ( int $scale )
 *$scale小数点位数默认为 0
 ******************************/
bcscale(2);
?>

Résultats d'exécution :

string(4) "1.04"
string(5) "-1.98"
string(1) "2"
string(5) "1.200"
string(8) "7.718853"
string(5) "9.869"
string(8) "1.772453"

Connexes recommandés :

Développement d'extensions PHP pour développer notre propre bibliothèque de fonctions mathématiques

Fonction mathématique-chaîne-tableau-JavaScript

Partage d'exemples de fonctions mathématiques PHP courantes et de fonctions mathématiques de haute précision BC

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn