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 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_Measure
- Version
- $Id$
\Zend_Measure_Number
Package: Zend_Measure\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-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties

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)static
Definition of all roman signs
Default value
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/')static
Convertion table for roman signs
Default value
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
Default value
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
Parameters
Throws
| 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
Parameters
Returns
Throws
| 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
Parameters
Returns
| Name | Type | Description |
|---|---|---|
| $input | integer | Input string |
| $type | string | Type from which to convert to decimal |
| Type | Description |
|---|---|
| string |

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
Parameters
Returns
| Name | Type | Description |
|---|---|---|
| $type | string | Type to convert to |
| $round | integer | (Optional) Precision to add, will always be 0 |
| $locale |
| Type | Description |
|---|---|
| string |

setType(string $type) : voidSet a new type, and convert the value
Parameters
Throws
| 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) : voidSet a new value
Parameters
Throws
| Name | Type | Description |
|---|---|---|
| $value | integer | Value |
| $type | string | (Optional) A Zend_Measure_Number Type |
| $locale | string | \Zend_Locale | (Optional) A Zend_Locale Type |
| Exception | Description |
|---|---|
| \Zend_Measure_Exception |