/** * Format the numeric value as a number with grouped thousands, decimal point and * precision. * * @param int $decimals The number of digits after the decimal point * @param string $decimalSeparator The decimal point character * @param string $thousandsSeparator The character for grouping the thousand digits * @param string $localeFormatLength Format length if locale set in $forceLocale. Must be one of TYPO3\Flow\I18n\Cldr\Reader\NumbersReader::FORMAT_LENGTH_*'s constants. * @return string The formatted number * @api * @throws ViewHelperException */ public function render($decimals = 2, $decimalSeparator = '.', $thousandsSeparator = ',', $localeFormatLength = NumbersReader::FORMAT_LENGTH_DEFAULT) { $stringToFormat = $this->renderChildren(); $useLocale = $this->getLocale(); if ($useLocale !== NULL) { try { $output = $this->numberFormatter->formatDecimalNumber($stringToFormat, $useLocale, $localeFormatLength); } catch (I18nException $exception) { throw new ViewHelperException($exception->getMessage(), 1382351148, $exception); } } else { $output = number_format((double) $stringToFormat, $decimals, $decimalSeparator, $thousandsSeparator); } return $output; }