本文实例讲述了PHP精确计算功能。分享给大家供大家参考,具体如下:
引言:一定要确保数据的准确性。这是一个好的程序员的基本素养。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<?php
/**
* 精确加法
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_add( $a , $b , $scale = '2' ) {
return bcadd ( $a , $b , $scale );
}
/**
* 精确减法
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_sub( $a , $b , $scale = '2' ) {
return bcsub( $a , $b , $scale );
}
/**
* 精确乘法
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_mul( $a , $b , $scale = '2' ) {
return bcmul ( $a , $b , $scale );
}
/**
* 精确除法
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_div( $a , $b , $scale = '2' ) {
return bcdiv ( $a , $b , $scale );
}
/**
* 精确求余/取模
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_mod( $a , $b ) {
return bcmod ( $a , $b );
}
/**
* 比较大小
* @param [type] $a [description]
* @param [type] $b [description]
* 大于 返回 1 等于返回 0 小于返回 -1
*/
function math_comp( $a , $b , $scale = '5' ) {
return bccomp ( $a , $b , $scale ); // 比较到小数点位数
}
echo math_add( '3.445' , '3.444' ). "\n" ; // 加 6.88
echo math_sub( '3.445' , '3.444' ). "\n" ; // 减 0.00
echo math_mul( '3.445' , '3.444' ). "\n" ; // 乘 11.86
echo math_div( '3.445' , '3.444' ). "\n" ; // 除 1.00
echo math_mod( '3.445' , '3.444' ). "\n" ; // 取模 0
echo math_comp( '3.445' , '3.444' ). "\n" ; // 比较 1
echo math_add( '3.445' , '3.444' , '3' ). "\n" ; // 加 6.889
echo math_sub( '3.445' , '3.444' , '3' ). "\n" ; // 减 0.001
echo math_mul( '3.445' , '3.444' , '3' ). "\n" ; // 乘 11.864
echo math_div( '3.445' , '3.444' , '3' ). "\n" ; // 除 1.000
echo math_mod( '3.445' , '3.444' ). "\n" ; // 取模 0
echo math_comp( '3.445' , '3.444' ). "\n" ; // 比较 1
?>
|
希望本文所述对大家PHP程序设计有所帮助。