This component converts currency values (prices) between fixed-point representation (int as number of cents) and floating point representation (float as dollars and cents).
The example of the USD.
Converts 3.99 dollars => 399 cents
Yii::$app->get('priceFormatter')->toStore(3.99); // input float
Yii::$app->get('priceFormatter')->toStore('3,99'); // input string
// Result: 399
Converts 3 dollars 99 cents => 399 cents
Yii::$app->get('priceFormatter')->toStoreByParts(3, 99);
// Result: 399
Converts 399 cents => 3.99 dollars
Yii::$app->get('priceFormatter')->toEdit(399);
// Result: 3.99
Converts 399 cents => 3 dollars, 99 cents
Yii::$app->get('priceFormatter')->toEditByParts(399);
// Result array:
[
0 => 3,
1 => 99
]
Converts 399 cents => $3.99 (with currency symbol )
Yii::$app->get('priceFormatter')->toView(399);
// Result: $3,99
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist voskobovich/yii2-price-formatter "~1.0"
or add
"voskobovich/yii2-price-formatter": "~1.0"
to the require section of your composer.json
file.
Configuration component in your app config file
[
...
'components' => [
'priceFormatter' => [
'class' => 'voskobovich\price\components\PriceFormatter',
// 'currencyCode' => 'USD',
'currencyCode' => function($component) {
return Yii::$app->user->identity->currency_code;
}
]
]
]
``
Comments