Slownie
in package
Abstract class used to transcribe float value into words. Base for PL, EN, DE class extensions.
Tags
Table of Contents
- $amountFull : array<string|int, string>
- $amountPart : int
- $currency : Currency
- $formatting : array<string|int, string>
- $fractions : bool
- $input : float|string
- $needsParsing : bool
- $pickerUse : bool
- __construct() : void
- Class constructor.
- getCurrency() : string
- Returns currently set currency... in uppercase. That's pretty much it.
- output() : string
- Returns amount in words.
- setCurrency() : self
- Assigns currency.
- setFormatting() : self
- Defines input string formatting.
- setFractions() : self
- Sets flag for fractional notation true/false for minor rest.
- setPickerUse() : self
- Sets flag to switch between translated currency name or currency picker use.
- setValue() : self
- Sets value to interpret and translate.
- translateTo() : bool|object
- Translates object from one language to another.
- verifyCodes() : bool
- Developer method. Verifies if all keys from tei187\Resources\ISO4217\Xref::NUMBER_TO_CODE exist in language pack.
- getBillions() : string
- Returns billions in words.
- getCurrencyFull() : string
- getCurrencyMinor() : string
- getHundreds() : string
- getLargeNumbers() : string
- getMillions() : string
- Returns millions in words.
- getQuadrillions() : string
- Returns quadrillions in words.
- getQuintillions() : string
- Returns quintillions in words.
- getThousands() : string
- Returns thousands in words.
- getTrillions() : string
- Returns trillions in words.
- parse() : bool
- Parses input amount. Assigns values to $this->amountPart and $this->amountFull.
- relayFractionMinors() : string
- Returns string x/y, where X is the minor rest and Y is power of 10 to the exponent length.
- relayString() : string
- Sets full in-words transcription of the amount. Handles $this->amountFull;
- translateNumber() : string
- Switches between translations for given value multiplied by N-power of ten.
Properties
$amountFull
protected
array<string|int, string>
$amountFull
= []
Hold parts of amount (without minor parts), divided by hundreds mark.
$amountPart
protected
int
$amountPart
= 0
Holds decimal parts of amount, only minors.
$currency
protected
Currency
$currency
Chosen currency, null by default.
$formatting
protected
array<string|int, string>
$formatting
= ['thousands' => ",", "decimals" => "."]
Settings for number formatting.
$fractions
protected
bool
$fractions
= false
Translate fully (with minors) or partially (with fractional notation). FALSE by default.
$input
protected
float|string
$input
= 0
Whatever was passed as amount.
$needsParsing
protected
bool
$needsParsing
= true
Flag to accertain if amount needs reparsing due to changes.
$pickerUse
protected
bool
$pickerUse
= false
Flag to switch between translated currency name or currency picker.
Methods
__construct()
Class constructor.
public
__construct([string|null $amount = null ][, string|Currency|null $currency = null ][, bool $fractionsUse = false ][, bool $pickerUse = false ]) : void
Parameters
- $amount : string|null = null
-
Amount to process. Has to be well formed float or float-formed string.
- $currency : string|Currency|null = null
-
A Currency class object or string ISO 4217 currency code or number (refer to tei187\Resources\ISO4217{lang}\Currencies or tei187\Resources\ISO4217\NUMBER_TO_CODE). By default null.
- $fractionsUse : bool = false
-
If FALSE translates fully, if TRUE uses fractional notation for minor rest.
- $pickerUse : bool = false
-
Sets flag to use or not use picker rather than full translation of currency.
Tags
Return values
void —getCurrency()
Returns currently set currency... in uppercase. That's pretty much it.
public
getCurrency() : string
..
Tags
Return values
string —output()
Returns amount in words.
public
output([string|null $v = null ][, string $currency = null ][, bool|null $fractions = null ][, bool|null $picker = null ]) : string
Parameters
- $v : string|null = null
-
Input value. Has to be float formed string.
- $currency : string = null
-
ISO 4217 currency code or number.
- $fractions : bool|null = null
-
If FALSE translates fully, if TRUE uses fractional notation for minor rest.
- $picker : bool|null = null
-
Sets flag to use or not use picker rather than full translation of currency.
Tags
Return values
string —Output in words.
setCurrency()
Assigns currency.
public
setCurrency([string|null $currency = null ]) : self
Parameters
- $currency : string|null = null
-
Currency shortcode. Has to exist as index in tei187\Resources\ISO4217{lang}::CURRENCIES, or as cross-referenced ISO 4217 STRING index of tei187\Resources\ISO4217\Xref::NUMBER_TO_CODE (with leading zeroes), or 'none' (default).
Tags
Return values
self —setFormatting()
Defines input string formatting.
public
setFormatting([string $thousands = "." ][, string $decimals = "," ]) : self
Parameters
- $thousands : string = "."
-
Thousands separator.
- $decimals : string = ","
-
Decimal separator.
Tags
Return values
self —setFractions()
Sets flag for fractional notation true/false for minor rest.
public
setFractions([bool $v = true ]) : self
Parameters
- $v : bool = true
Tags
Return values
self —setPickerUse()
Sets flag to switch between translated currency name or currency picker use.
public
setPickerUse([bool $v = true ]) : self
Parameters
- $v : bool = true
Tags
Return values
self —setValue()
Sets value to interpret and translate.
public
setValue([string|null $v = null ]) : self
Parameters
- $v : string|null = null
Return values
self —translateTo()
Translates object from one language to another.
public
translateTo(string $lang) : bool|object
Parameters
- $lang : string
-
Language to translate to. Must be a valid classname in \tei187\Slownie namespace, not equal to "Slownie" or "Currency".
Return values
bool|object —verifyCodes()
Developer method. Verifies if all keys from tei187\Resources\ISO4217\Xref::NUMBER_TO_CODE exist in language pack.
public
verifyCodes() : bool
Tags
Return values
bool —TRUE on correct, FALSE otherwise.
getBillions()
Returns billions in words.
protected
getBillions([string $v = null ]) : string
Parameters
- $v : string = null
-
Input billions part.
Return values
string —Billions as string or empty.
getCurrencyFull()
protected
abstract getCurrencyFull() : string
Return values
string —getCurrencyMinor()
protected
abstract getCurrencyMinor([string|null $v = null ]) : string
Parameters
- $v : string|null = null
Return values
string —getHundreds()
protected
abstract getHundreds([string|null $v = null ]) : string
Parameters
- $v : string|null = null
Return values
string —getLargeNumbers()
protected
abstract getLargeNumbers(int $power[, string|null $v = null ]) : string
Parameters
- $power : int
- $v : string|null = null
Return values
string —getMillions()
Returns millions in words.
protected
getMillions([string $v = null ]) : string
Parameters
- $v : string = null
-
Input millions part.
Return values
string —Millions as string or empty.
getQuadrillions()
Returns quadrillions in words.
protected
getQuadrillions([string $v = null ]) : string
Parameters
- $v : string = null
-
Input quadrillions part.
Return values
string —Quadrillions as string or empty.
getQuintillions()
Returns quintillions in words.
protected
getQuintillions([string $v = null ]) : string
Parameters
- $v : string = null
-
Input quintillions part.
Return values
string —Quintillions as string or empty.
getThousands()
Returns thousands in words.
protected
getThousands([string $v = null ]) : string
Parameters
- $v : string = null
-
Input thousands part.
Return values
string —Thousands as string or empty.
getTrillions()
Returns trillions in words.
protected
getTrillions([string $v = null ]) : string
Parameters
- $v : string = null
-
Input trillions part.
Return values
string —Trillions as string or empty.
parse()
Parses input amount. Assigns values to $this->amountPart and $this->amountFull.
protected
parse([string|null $v = null ]) : bool
Parameters
- $v : string|null = null
-
Input amount.
Tags
Return values
bool —Returns TRUE is value is proper, FALSE if otherwise.
relayFractionMinors()
Returns string x/y, where X is the minor rest and Y is power of 10 to the exponent length.
protected
relayFractionMinors() : string
Tags
Return values
string —relayString()
Sets full in-words transcription of the amount. Handles $this->amountFull;
protected
relayString() : string
Tags
Return values
string —Translated from numeric.
translateNumber()
Switches between translations for given value multiplied by N-power of ten.
protected
translateNumber([int|null $power = null ][, int|null $digits = null ]) : string
Parameters
- $power : int|null = null
-
N-th power of 10, corresponding with key in array.
- $digits : int|null = null
-
Full amount part (000-999) to translate.