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-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) : void
Zend_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) : string
Convert 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) : string
Convert 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) : string
Alias 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) : void
Set 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) : void
Set 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 |