Class CakeNumber
Number helper library.
Methods to make numbers more readable.
Link: http://book.cakephp.org/2.0/en/core-libraries/helpers/number.html
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: Cake/Utility/CakeNumber.php
Properties summary
-
$_currencies
protected staticarray
Currencies supported by the helper. You can add additional currency formats with CakeNumber::addFormat
-
$_currencyDefaults
protected staticarray
Default options for currency formats -
$_numberFormatSupport
protected staticboolean
If native number_format() should be used. If >= PHP5.4
Method Summary
-
_numberFormat() protected static
Alternative number_format() to accommodate multibyte decimals and thousands < PHP 5.4 -
addFormat() public static
Add a currency format to the Number helper. Makes reusing currency formats easier.
-
currency() public static
Formats a number into a currency format. -
format() public static
Formats a number into a currency format. -
precision() public static
Formats a number with a level of precision. -
toPercentage() public static
Formats a number into a percentage string. -
toReadableSize() public static
Returns a formatted-for-humans file size.
Method Detail
_numberFormat() protected static ¶
_numberFormat( float $number , integer $places = 0 , string $decimals = '.' , string $thousands = ',' )
Alternative number_format() to accommodate multibyte decimals and thousands < PHP 5.4
Parameters
- float $number
- integer $places optional 0
- string $decimals optional '.'
- string $thousands optional ','
Returns
addFormat() public static ¶
addFormat( string $formatName , array $options )
Add a currency format to the Number helper. Makes reusing currency formats easier.
{{{ $number->addFormat('NOK', array('before' => 'Kr. ')); }}}
You can now use NOK
as a shortform when formatting currency amounts.
{{{ $number->currency($value, 'NOK'); }}}
Added formats are merged with the defaults defined in CakeNumber::$_currencyDefaults See CakeNumber::currency() for more information on the various options and their function.
Parameters
- string $formatName
- The format name to be used in the future.
- array $options
- The array of options for this format.
See
Link
currency() public static ¶
currency( float $number , string $currency = 'USD' , array $options = array() )
Formats a number into a currency format.
Options
wholeSymbol
- The currency symbol to use for whole numbers, greater than 1, or less than -1.wholePosition
- The position the whole symbol should be placed valid options are 'before' & 'after'.fractionSymbol
- The currency symbol to use for fractional numbers.fractionPosition
- The position the fraction symbol should be placed valid options are 'before' & 'after'.before
- The currency symbol to place before whole numbers ie. '$'.before
is an alias forwholeSymbol
.after
- The currency symbol to place after decimal numbers ie. 'c'. Set to boolean false to use no decimal symbol. eg. 0.35 => $0.35.after
is an alias forfractionSymbol
zero
- The text to use for zero values, can be a string or a number. ie. 0, 'Free!'places
- Number of decimal places to use. ie. 2thousands
- Thousands separator ie. ','decimals
- Decimal separator symbol ie. '.'negative
- Symbol for negative numbers. If equal to '()', the number will be wrapped with ( and )escape
- Should the output be htmlentity escaped? Defaults to true
Parameters
- float $number
- string $currency optional 'USD'
Shortcut to default options. Valid values are 'USD', 'EUR', 'GBP', otherwise set at least 'before' and 'after' options.
- array $options optional array()
Returns
Number formatted as a currency.
Link
format() public static ¶
format( float $number , integer $options = false )
Formats a number into a currency format.
Parameters
- float $number
- A floating point number
- integer $options optional false
if int then places, if string then before, if (,.-) then use it or array with places and before keys
Returns
formatted number
Link
precision() public static ¶
precision( float $number , integer $precision = 3 )
Formats a number with a level of precision.
Parameters
- float $number
- A floating point number.
- integer $precision optional 3
- The precision of the returned number.
Returns
Formatted float.
Link
toPercentage() public static ¶
toPercentage( float $number , integer $precision = 2 )
Formats a number into a percentage string.
Parameters
- float $number
- A floating point number
- integer $precision optional 2
- The precision of the returned number
Returns
Percentage string
Link
toReadableSize() public static ¶
toReadableSize( integer $size )
Returns a formatted-for-humans file size.
Parameters
- integer $size
- Size in bytes
Returns
Human readable size
Link
Properties detail
$_currencies ¶
Currencies supported by the helper. You can add additional currency formats with CakeNumber::addFormat
array( 'USD' => array( 'wholeSymbol' => '$', 'wholePosition' => 'before', 'fractionSymbol' => 'c', 'fractionPosition' => 'after', 'zero' => 0, 'places' => 2, 'thousands' => ',', 'decimals' => '.', 'negative' => '()', 'escape' => true ), 'GBP' => array( 'wholeSymbol' => '£', 'wholePosition' => 'before', 'fractionSymbol' => 'p', 'fractionPosition' => 'after', 'zero' => 0, 'places' => 2, 'thousands' => ',', 'decimals' => '.', 'negative' => '()','escape' => false ), 'EUR' => array( 'wholeSymbol' => '€', 'wholePosition' => 'before', 'fractionSymbol' => false, 'fractionPosition' => 'after', 'zero' => 0, 'places' => 2, 'thousands' => '.', 'decimals' => ',', 'negative' => '()', 'escape' => false ) )
$_currencyDefaults ¶
Default options for currency formats
array( 'wholeSymbol' => '', 'wholePosition' => 'before', 'fractionSymbol' => '', 'fractionPosition' => 'after', 'zero' => '0', 'places' => 2, 'thousands' => ',', 'decimals' => '.','negative' => '()', 'escape' => true, )
$_numberFormatSupport ¶
If native number_format() should be used. If >= PHP5.4
null