public static function formatNumber($string, $decimals = null)
{
// redefine
$string = (double) $string;
// get setting
$format = FrontendModel::get('fork.settings')->get('Core', 'number_format');
// get amount of decimals
if ($decimals === null) {
$decimals = mb_strpos($string, '.') ? mb_strlen(mb_substr($string, mb_strpos($string, '.') + 1)) : 0;
}
// get separators
$separators = explode('_', $format);
$separatorSymbols = array('comma' => ',', 'dot' => '.', 'space' => ' ', 'nothing' => '');
$decimalSeparator = isset($separators[0], $separatorSymbols[$separators[0]]) ? $separatorSymbols[$separators[0]] : null;
$thousandsSeparator = isset($separators[1], $separatorSymbols[$separators[1]]) ? $separatorSymbols[$separators[1]] : null;
// format the number
return number_format($string, $decimals, $decimalSeparator, $thousandsSeparator);
}