Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
Utility class for proxying math function to bcmath functions, if present, otherwise to PHP builtin math operators, with limited detection of overflow conditions.
Sampling of PHP environments and platforms suggests that at least 80% to 90% support bcmath. Thus, this file should be as light as possible.
$_bcmathDisabled = 'false'
$add = 'array'
$comp = 'array'
$div = 'array'
$mod = 'array'
$mul = 'array'
$pow = 'array'
$scale = 'bcscale'
$sqrt = 'array'
$sub = 'array'
Add(
string $op1, string $op2, integer $scale
=
null
)
:
string
BCAdd - fixes a problem of BCMath and exponential numbers
Comp(
string $op1, string $op2, integer $scale
=
null
)
:
string
BCComp - fixes a problem of BCMath and exponential numbers
Div(
string $op1, string $op2, integer $scale
=
null
)
:
string
BCDiv - fixes a problem of BCMath and exponential numbers
Mod(
string $op1, string $op2
)
:
string
BCMod - fixes a problem of BCMath and exponential numbers
Mul(
string $op1, string $op2, integer $scale
=
null
)
:
string
BCMul - fixes a problem of BCMath and exponential numbers
Pow(
string $op1, string $op2, integer $scale
=
null
)
:
string
BCPow - fixes a problem of BCMath and exponential numbers
Sqrt(
string $op1, integer $scale
=
null
)
:
string
BCSqrt - fixes a problem of BCMath and exponential numbers
Sub(
string $op1, string $op2, integer $scale
=
null
)
:
string
BCSub - fixes a problem of BCMath and exponential numbers
exponent(
integer $value, integer $scale
=
null
)
:
string
Changes exponential numbers to plain string numbers Fixes a problem of BCMath with numbers containing exponents
floatalize(
string $value
)
:
Convert a scientific notation to float Additionally fixed a problem with PHP <= 5.2.x with big integers
isBcmathDisabled(
)
:
localize(
integer $value
)
:
string
Localizes an input from standard english notation Fixes a problem of BCMath with setLocale which is PHP related
normalize(
integer $value
)
:
string
Normalizes an input to standard english notation Fixes a problem of BCMath with setLocale which is PHP related
round(
$op1, $precision
=
0
)
:
Surprisingly, the results of this implementation of round() prove better than the native PHP round(). For example, try: round(639.795, 2); round(267.835, 2); round(0.302515, 5); round(0.36665, 4); then try: Zend_Locale_Math::round('639.795', 2);