b2in/app/Helpers/PriceHelper.php

31 lines
1 KiB
PHP

<?php
namespace App\Helpers;
class PriceHelper
{
/** Offizieller AED/USD-Kurs (feste Bindung) */
const AED_USD_RATE = 3.6725;
/** Näherungswert EUR/USD (wird gelegentlich angepasst) */
const USD_EUR_RATE = 1.08;
/**
* Formatiert einen AED-Betrag mit EUR- und USD-Umrechnung.
*
* Beispiel: formatAed(1125000, 'ab') → "ab 1.125.000 AED (ca. 284.000 EUR / 306.000 USD)"
*/
public static function formatAed(int $aed, string $prefix = ''): string
{
$usd = (int) (round($aed / self::AED_USD_RATE / 1000) * 1000);
$eur = (int) (round($usd / self::USD_EUR_RATE / 1000) * 1000);
$fmtAed = number_format($aed, 0, ',', '.');
$fmtEur = number_format($eur, 0, ',', '.');
$fmtUsd = number_format($usd, 0, ',', '.');
$prefixStr = $prefix !== '' ? "{$prefix} " : '';
return "<span class=\"whitespace-nowrap\">{$prefixStr}{$fmtAed} AED</span> <span class=\"whitespace-nowrap\">(ca. {$fmtEur} EUR</span> / <span class=\"whitespace-nowrap\">{$fmtUsd} USD)</span>";
}
}