Locale/Math.php
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.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Locale
- Version
- $Id$
Package: Zend_LocaleUtility 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.
- Children
- \Zend_Locale_Math_PhpMath
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties
$_bcmathDisabled = false
static
Default valuefalse
Details- Type
- n/a
$add = array('Zend_Locale_Math', 'Add')
static
Default valuearray('Zend_Locale_Math', 'Add')
Details- Type
- n/a
$comp = array('Zend_Locale_Math', 'Comp')
static
Default valuearray('Zend_Locale_Math', 'Comp')
Details- Type
- n/a
$div = array('Zend_Locale_Math', 'Div')
static
Default valuearray('Zend_Locale_Math', 'Div')
Details- Type
- n/a
$mod = array('Zend_Locale_Math', 'Mod')
static
Default valuearray('Zend_Locale_Math', 'Mod')
Details- Type
- n/a
$mul = array('Zend_Locale_Math', 'Mul')
static
Default valuearray('Zend_Locale_Math', 'Mul')
Details- Type
- n/a
$pow = array('Zend_Locale_Math', 'Pow')
static
Default valuearray('Zend_Locale_Math', 'Pow')
Details- Type
- n/a
$scale = 'bcscale'
static
Default value'bcscale'
Details- Type
- n/a
$sqrt = array('Zend_Locale_Math', 'Sqrt')
static
Default valuearray('Zend_Locale_Math', 'Sqrt')
Details- Type
- n/a
$sub = array('Zend_Locale_Math', 'Sub')
static
Default valuearray('Zend_Locale_Math', 'Sub')
Details- Type
- n/a
Methods
Add(string $op1, string $op2, integer $scale = null) : string
staticBCAdd - fixes a problem of BCMath and exponential numbers
ParametersName | Type | Description |
---|
$op1 | string | |
---|
$op2 | string | |
---|
$scale | integer | |
---|
Returns Comp(string $op1, string $op2, integer $scale = null) : string
staticBCComp - fixes a problem of BCMath and exponential numbers
ParametersName | Type | Description |
---|
$op1 | string | |
---|
$op2 | string | |
---|
$scale | integer | |
---|
Returns Div(string $op1, string $op2, integer $scale = null) : string
staticBCDiv - fixes a problem of BCMath and exponential numbers
ParametersName | Type | Description |
---|
$op1 | string | |
---|
$op2 | string | |
---|
$scale | integer | |
---|
Returns Mod(string $op1, string $op2) : string
staticBCMod - fixes a problem of BCMath and exponential numbers
ParametersName | Type | Description |
---|
$op1 | string | |
---|
$op2 | string | |
---|
Returns Mul(string $op1, string $op2, integer $scale = null) : string
staticBCMul - fixes a problem of BCMath and exponential numbers
ParametersName | Type | Description |
---|
$op1 | string | |
---|
$op2 | string | |
---|
$scale | integer | |
---|
Returns Pow(string $op1, string $op2, integer $scale = null) : string
staticBCPow - fixes a problem of BCMath and exponential numbers
ParametersName | Type | Description |
---|
$op1 | string | |
---|
$op2 | string | |
---|
$scale | integer | |
---|
Returns Sqrt(string $op1, integer $scale = null) : string
staticBCSqrt - fixes a problem of BCMath and exponential numbers
ParametersName | Type | Description |
---|
$op1 | string | |
---|
$scale | integer | |
---|
Returns Sub(string $op1, string $op2, integer $scale = null) : string
staticBCSub - fixes a problem of BCMath and exponential numbers
ParametersName | Type | Description |
---|
$op1 | string | |
---|
$op2 | string | |
---|
$scale | integer | |
---|
Returns exponent(integer $value, integer $scale = null) : string
staticChanges exponential numbers to plain string numbers
Fixes a problem of BCMath with numbers containing exponents
ParametersName | Type | Description |
---|
$value | integer | Value to erase the exponent |
---|
$scale | integer | (Optional) Scale to use |
---|
Returns floatalize(string $value) : void
staticConvert a scientific notation to float
Additionally fixed a problem with PHP <= 5.2.x with big integers
ParametersName | Type | Description |
---|
$value | string | |
---|
localize(integer $value) : string
staticLocalizes an input from standard english notation
Fixes a problem of BCMath with setLocale which is PHP related
ParametersName | Type | Description |
---|
$value | integer | Value to normalize |
---|
ReturnsType | Description |
---|
string | Normalized string without BCMath problems |
normalize(integer $value) : string
staticNormalizes an input to standard english notation
Fixes a problem of BCMath with setLocale which is PHP related
ParametersName | Type | Description |
---|
$value | integer | Value to normalize |
---|
ReturnsType | Description |
---|
string | Normalized string without BCMath problems |
round( $op1, $precision = 0) : void
staticSurprisingly, 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);
ParametersName | Type | Description |
---|
$op1 | | |
---|
$precision | | |
---|