31 lines
1 KiB
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>";
|
|
}
|
|
}
|