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
nullDetails- 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) : voidZend_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) : stringConvert 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) : stringConvert 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) : stringAlias 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_AbstractSets 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) : voidSet 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_AbstractSet 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 |