Locale/Math.php

Show: PublicProtectedPrivateinherited
Table of Contents
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$  

\Zend_Locale_Math

Package: Zend_Locale
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.
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

>VPropertypublic$_bcmathDisabled = false
static
Default valuefalseDetails
Type
n/a
>VPropertypublic$add = array('Zend_Locale_Math', 'Add')
static
Default valuearray('Zend_Locale_Math', 'Add')Details
Type
n/a
>VPropertypublic$comp = array('Zend_Locale_Math', 'Comp')
static
Default valuearray('Zend_Locale_Math', 'Comp')Details
Type
n/a
>VPropertypublic$div = array('Zend_Locale_Math', 'Div')
static
Default valuearray('Zend_Locale_Math', 'Div')Details
Type
n/a
>VPropertypublic$mod = array('Zend_Locale_Math', 'Mod')
static
Default valuearray('Zend_Locale_Math', 'Mod')Details
Type
n/a
>VPropertypublic$mul = array('Zend_Locale_Math', 'Mul')
static
Default valuearray('Zend_Locale_Math', 'Mul')Details
Type
n/a
>VPropertypublic$pow = array('Zend_Locale_Math', 'Pow')
static
Default valuearray('Zend_Locale_Math', 'Pow')Details
Type
n/a
>VPropertypublic$scale = 'bcscale'
static
Default value'bcscale'Details
Type
n/a
>VPropertypublic$sqrt = array('Zend_Locale_Math', 'Sqrt')
static
Default valuearray('Zend_Locale_Math', 'Sqrt')Details
Type
n/a
>VPropertypublic$sub = array('Zend_Locale_Math', 'Sub')
static
Default valuearray('Zend_Locale_Math', 'Sub')Details
Type
n/a

Methods

methodpublicAdd(string $op1, string $op2, integer $scale = null) : string
static

BCAdd - fixes a problem of BCMath and exponential numbers

Parameters
NameTypeDescription
$op1string
$op2string
$scaleinteger
Returns
TypeDescription
string
methodpublicComp(string $op1, string $op2, integer $scale = null) : string
static

BCComp - fixes a problem of BCMath and exponential numbers

Parameters
NameTypeDescription
$op1string
$op2string
$scaleinteger
Returns
TypeDescription
string
methodpublicDiv(string $op1, string $op2, integer $scale = null) : string
static

BCDiv - fixes a problem of BCMath and exponential numbers

Parameters
NameTypeDescription
$op1string
$op2string
$scaleinteger
Returns
TypeDescription
string
methodpublicMod(string $op1, string $op2) : string
static

BCMod - fixes a problem of BCMath and exponential numbers

Parameters
NameTypeDescription
$op1string
$op2string
Returns
TypeDescription
string
methodpublicMul(string $op1, string $op2, integer $scale = null) : string
static

BCMul - fixes a problem of BCMath and exponential numbers

Parameters
NameTypeDescription
$op1string
$op2string
$scaleinteger
Returns
TypeDescription
string
methodpublicPow(string $op1, string $op2, integer $scale = null) : string
static

BCPow - fixes a problem of BCMath and exponential numbers

Parameters
NameTypeDescription
$op1string
$op2string
$scaleinteger
Returns
TypeDescription
string
methodpublicSqrt(string $op1, integer $scale = null) : string
static

BCSqrt - fixes a problem of BCMath and exponential numbers

Parameters
NameTypeDescription
$op1string
$scaleinteger
Returns
TypeDescription
string
methodpublicSub(string $op1, string $op2, integer $scale = null) : string
static

BCSub - fixes a problem of BCMath and exponential numbers

Parameters
NameTypeDescription
$op1string
$op2string
$scaleinteger
Returns
TypeDescription
string
methodpublicexponent(integer $value, integer $scale = null) : string
static

Changes exponential numbers to plain string numbers Fixes a problem of BCMath with numbers containing exponents

Parameters
NameTypeDescription
$valueinteger

Value to erase the exponent

$scaleinteger

(Optional) Scale to use

Returns
TypeDescription
string
methodpublicfloatalize(string $value) : void
static

Convert a scientific notation to float Additionally fixed a problem with PHP <= 5.2.x with big integers

Parameters
NameTypeDescription
$valuestring
methodpublicisBcmathDisabled() : void
static

methodpubliclocalize(integer $value) : string
static

Localizes an input from standard english notation Fixes a problem of BCMath with setLocale which is PHP related

Parameters
NameTypeDescription
$valueinteger

Value to normalize

Returns
TypeDescription
stringNormalized string without BCMath problems
methodpublicnormalize(integer $value) : string
static

Normalizes an input to standard english notation Fixes a problem of BCMath with setLocale which is PHP related

Parameters
NameTypeDescription
$valueinteger

Value to normalize

Returns
TypeDescription
stringNormalized string without BCMath problems
methodpublicround( $op1,  $precision = 0) : void
static

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

Parameters
NameTypeDescription
$op1
$precision
Documentation was generated by phpDocumentor 2.2.0 .