Files

28 lines
825 B
PHP

<?php
declare(strict_types=1);
namespace MonetaPhpShop\form;
use MonetaPhpShop\Money;
/**
* ×èñëî ñóììû äëÿ ïîêóïàòåëÿ òàê æå, êàê åãî ïèøåò âèòðèíà PHPShop: çíàêîâ ïîñëå òî÷êè — ïî
* íàñòðîéêå ìàãàçèíà «Çíàêîâ ïîñëå çàïÿòîé â öåíå» (`admoption.price_znak`), òûñÿ÷è ÷åðåç ïðîáåë.
* Çíàê âàëþòû äîáàâëÿåò âèòðèíà ({@see \MonetaPhpShop\host\ShopContext::currencyIcon()}).
*/
final class AmountText
{
private function __construct() {}
/**
* @param int $decimals çíàêîâ ïîñëå òî÷êè; âíå 0–2 — 0, êàê ó ÿäðà ïðè ïóñòîé íàñòðîéêå
*/
public static function format(Money $amount, int $decimals): string
{
$decimals = (($decimals >= 0) && ($decimals <= 2)) ? $decimals : 0;
return number_format((float) $amount->toDecimal(), $decimals, '.', ' ');
}
}