Measure/Number.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 [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Measure
- Version
- $Id: Number.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Measure_Number
Class for handling number conversions
This class can only handle numbers without precision
- Parent(s)
- \Zend_Measure_Abstract
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties


string $_locale = null
null
Details- Type
- string
- Inherited_from
- \Zend_Measure_Abstract::$$_locale


array $_roman = array('I' => 1, 'A' => 4, 'V' => 5, 'B' => 9, 'X' => 10, 'E' => 40, 'L' => 50, 'F' => 90, 'C' => 100, 'G' => 400, 'D' => 500, 'H' => 900, 'M' => 1000, 'J' => 4000, 'P' => 5000, 'K' => 9000, 'Q' => 10000, 'N' => 40000, 'R' => 50000, 'W' => 90000, 'S' => 100000, 'Y' => 400000, 'T' => 500000, 'Z' => 900000, 'U' => 1000000)
Definition of all roman signs
array('I' => 1, 'A' => 4, 'V' => 5, 'B' => 9, 'X' => 10, 'E' => 40, 'L' => 50, 'F' => 90, 'C' => 100, 'G' => 400, 'D' => 500, 'H' => 900, 'M' => 1000, 'J' => 4000, 'P' => 5000, 'K' => 9000, 'Q' => 10000, 'N' => 40000, 'R' => 50000, 'W' => 90000, 'S' => 100000, 'Y' => 400000, 'T' => 500000, 'Z' => 900000, 'U' => 1000000)
Details- Type
- array


array $_romanconvert = array('/_V/' => '/P/', '/_X/' => '/Q/', '/_L/' => '/R/', '/_C/' => '/S/', '/_D/' => '/T/', '/_M/' => '/U/', '/IV/' => '/A/', '/IX/' => '/B/', '/XL/' => '/E/', '/XC/' => '/F/', '/CD/' => '/G/', '/CM/' => '/H/', '/M_V/' => '/J/', '/MQ/' => '/K/', '/QR/' => '/N/', '/QS/' => '/W/', '/ST/' => '/Y/', '/SU/' => '/Z/')
Convertion table for roman signs
array('/_V/' => '/P/', '/_X/' => '/Q/', '/_L/' => '/R/', '/_C/' => '/S/', '/_D/' => '/T/', '/_M/' => '/U/', '/IV/' => '/A/', '/IX/' => '/B/', '/XL/' => '/E/', '/XC/' => '/F/', '/CD/' => '/G/', '/CM/' => '/H/', '/M_V/' => '/J/', '/MQ/' => '/K/', '/QR/' => '/N/', '/QS/' => '/W/', '/ST/' => '/Y/', '/SU/' => '/Z/')
Details- Type
- array


array $_units = array('BINARY' => array(2, '⑵'), 'TERNARY' => array(3, '⑶'), 'QUATERNARY' => array(4, '⑷'), 'QUINARY' => array(5, '⑸'), 'SENARY' => array(6, '⑹'), 'SEPTENARY' => array(7, '⑺'), 'OCTAL' => array(8, '⑻'), 'NONARY' => array(9, '⑼'), 'DECIMAL' => array(10, '⑽'), 'DUODECIMAL' => array(12, '⑿'), 'HEXADECIMAL' => array(16, '⒃'), 'ROMAN' => array(99, ''), 'STANDARD' => 'DECIMAL')
Calculations for all number units
array('BINARY' => array(2, '⑵'), 'TERNARY' => array(3, '⑶'), 'QUATERNARY' => array(4, '⑷'), 'QUINARY' => array(5, '⑸'), 'SENARY' => array(6, '⑹'), 'SEPTENARY' => array(7, '⑺'), 'OCTAL' => array(8, '⑻'), 'NONARY' => array(9, '⑼'), 'DECIMAL' => array(10, '⑽'), 'DUODECIMAL' => array(12, '⑿'), 'HEXADECIMAL' => array(16, '⒃'), 'ROMAN' => array(99, ''), 'STANDARD' => 'DECIMAL')
Details- Type
- array
Methods


__construct(integer $value, string $type, string | \Zend_Locale $locale = null) : void
Zend_Measure_Abstract is an abstract class for the different measurement types
Name | Type | Description |
---|---|---|
$value | integer | Value |
$type | string | (Optional) A Zend_Measure_Number Type |
$locale | string | \Zend_Locale | (Optional) A Zend_Locale |
Exception | Description |
---|---|
\Zend_Measure_Exception | When language is unknown |
\Zend_Measure_Exception | When type is unknown |


_fromDecimal(integer $value, string $type) : string
Convert input to type value string
Name | Type | Description |
---|---|---|
$value | integer | Input string |
$type | string | Type to convert to |
Type | Description |
---|---|
string |
Exception | Description |
---|---|
\Zend_Measure_Exception | When more than 200 digits are calculated |


_toDecimal(integer $input, string $type) : string
Convert input to decimal value string
Name | Type | Description |
---|---|---|
$input | integer | Input string |
$type | string | Type from which to convert to decimal |
Type | Description |
---|---|
string |


add(\Zend_Measure_Abstract $object) : \Zend_Measure_Abstract
Name | Type | Description |
---|---|---|
$object | \Zend_Measure_Abstract | object of same unit type |
Type | Description |
---|---|
\Zend_Measure_Abstract |


compare(\Zend_Measure_Abstract $object) : boolean
Name | Type | Description |
---|---|---|
$object | \Zend_Measure_Abstract | object of same unit type |
Type | Description |
---|---|
boolean |


convertTo(string $type, integer $round = 0, $locale = null) : string
Alias function for setType returning the converted unit Default is 0 as this class only handles numbers without precision
Name | Type | Description |
---|---|---|
$type | string | Type to convert to |
$round | integer | (Optional) Precision to add, will always be 0 |
$locale |
Type | Description |
---|---|
string |


equals(\Zend_Measure_Abstract $object) : boolean
Name | Type | Description |
---|---|---|
$object | \Zend_Measure_Abstract | object to compare |
Type | Description |
---|---|
boolean |


getValue(integer $round = -1, string | \Zend_Locale $locale = null) : integer | string
Name | Type | Description |
---|---|---|
$round | integer | (Optional) Rounds the value to an given precision, Default is -1 which returns without rounding |
$locale | string | \Zend_Locale | (Optional) Locale for number representation |
Type | Description |
---|---|
integer | string |


setLocale(string | \Zend_Locale $locale = null, boolean $check = false) : \Zend_Measure_Abstract
Sets a new locale for the value representation
Inherited from: \Zend_Measure_Abstract::setLocale()Name | Type | Description |
---|---|---|
$locale | string | \Zend_Locale | (Optional) New locale to set |
$check | boolean | False, check but don't set; True, set the new locale |
Type | Description |
---|---|
\Zend_Measure_Abstract |


setType(string $type) : void
Set a new type, and convert the value
Name | Type | Description |
---|---|---|
$type | string | New type to set |
Exception | Description |
---|---|
\Zend_Measure_Exception | When a unknown type is given |


setValue(integer $value, string $type = null, string | \Zend_Locale $locale = null) : \Zend_Measure_Abstract
Set a new value
Name | Type | Description |
---|---|---|
$value | integer | Value |
$type | string | (Optional) A Zend_Measure_Number Type |
$locale | string | \Zend_Locale | (Optional) A Zend_Locale Type |
Type | Description |
---|---|
\Zend_Measure_Abstract |
Exception | Description |
---|---|
\Zend_Measure_Exception |


sub(\Zend_Measure_Abstract $object) : \Zend_Measure_Abstract
Name | Type | Description |
---|---|---|
$object | \Zend_Measure_Abstract | object of same unit type |
Type | Description |
---|---|
\Zend_Measure_Abstract |


toString(integer $round = -1, string | \Zend_Locale $locale = null) : string
Name | Type | Description |
---|---|---|
$round | integer | (Optional) Runds the value to an given exception |
$locale | string | \Zend_Locale | (Optional) Locale to set for the number |
Type | Description |
---|---|
string |