public function render($currencySign = '', $decimalSeparator = ',', $thousandsSeparator = '.')
{
$stringToFormat = $this->renderChildren();
$useLocale = $this->getLocale();
if ($useLocale !== null) {
if ($currencySign === '') {
throw new InvalidVariableException('Using the Locale requires a currencySign.', 1326378320);
}
try {
$output = $this->numberFormatter->formatCurrencyNumber($stringToFormat, $useLocale, $currencySign);
} catch (I18nException $exception) {
throw new ViewHelperException($exception->getMessage(), 1382350428, $exception);
}
} else {
$output = number_format((double) $stringToFormat, 2, $decimalSeparator, $thousandsSeparator);
if ($currencySign !== '') {
$output .= ' ' . $currencySign;
}
}
return $output;
}