Heim  >  Artikel  >  Backend-Entwicklung  >  Häufige Verwendung mathematischer Funktionen in PHP

Häufige Verwendung mathematischer Funktionen in PHP

墨辰丷
墨辰丷Original
2018-05-17 14:27:042411Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung gängiger mathematischer Funktionen in PHP vorgestellt. Er listet die Funktionen und Verwendungsfähigkeiten von BC-Hochpräzisionsfunktionen in Form von Beispielen auf dazu

Die Beispiele in diesem Artikel beschreiben die Verwendung gängiger PHP-Mathematikfunktionen und hochpräziser BC-Mathematikfunktionen. Teilen Sie es als Referenz mit allen:

1. bcadd Addition beliebiger Präzisionszahlen
bcmul Multiplikation, bcp Division
4 . bcmod übernimmt den Rest. (Leistungsstärker als %)
5. bcsqrt-Quadratwurzeloperation
7. pow-Potenzierung
9. pi erhält den Pi-Wert


trigonometrische Funktion

sin cos tan asin acos atan (ausgedrückt im Bogenmaß)deg2rad Winkel wird in Bogenmaß umgewandeltrad2deg Konvertieren Sie Bogenmaß in Winkel


Exponent

log, um den natürlichen Logarithmus zu finden, log10, um den Logarithmus zur Basis 10 zu findenexp die Potenz von e as die Basis

Verschiedene Zahlensystemkonvertierungen

base_convert Universelle beliebige Zahlensystemkonvertierungbindec Binär in Dezimal umwandelndecbin Dezimal in Binär umwandeln

dechex Dezimalzahl in Hexadezimalzahl umwandeln

decoct Dezimalzahl in Oktalzahl umwandeln
hexdec Hexadezimalzahl in Dezimalzahl umwandeln
octdec Oktalzahl in Dezimalzahl umwandeln


BC-Hochpräzisionsfunktionsverwendungsbeispiel:

<?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);
?>

Laufergebnisse:

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"

Verwandte Empfehlungen:

PHP-Erweiterungsentwicklung: Entwicklung unserer eigenen mathematischen Funktionsbibliothek

JavaScript-Array-String-mathematische Funktion

Beispiele teilen von gängigen PHP-Mathematikfunktionen und hochpräzisen BC-Mathematikfunktionen

Das obige ist der detaillierte Inhalt vonHäufige Verwendung mathematischer Funktionen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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