- /**
- * Format number
- */
- public function number(int|float $number, $style = 'decimal', $type = 'default', ?string $locale = null) {
- //Set types
- static $types = [
- 'default' => NumberFormatter::TYPE_DEFAULT,
- 'int32' => NumberFormatter::TYPE_INT32,
- 'int64' => NumberFormatter::TYPE_INT64,
- 'double' => NumberFormatter::TYPE_DOUBLE,
- 'currency' => NumberFormatter::TYPE_CURRENCY,
- ];
-
- //Get formatter
- $formatter = $this->getNumberFormatter($locale, $style);
-
- //Without type
- if (!isset($types[$type])) {
- throw new SyntaxError(sprintf('The type "%s" does not exist. Known types are: "%s"', $type, implode('", "', array_keys($types))));
- }
-
- //Return formatted number
- return $formatter->format($number, $types[$type]);
- }
-
- /**
- * Format currency
- */
- public function currency(int|float $number, string $currency, ?string $locale = null) {
- //Get formatter
- $formatter = $this->getNumberFormatter($locale, 'currency');
-
- //Return formatted currency
- return $formatter->formatCurrency($number, $currency);
- }
-