попробовать var_dump(localeconv());
, вы, вероятно, увидите ключ decimal_point
является ,
так либо (если PHP5.3> =) пытаются locale_set_default('en_US');
или использовать (устаревшее) setlocale
функцию: setlocale
:
setlocale(LC_NUMERIC, 'en_US');
//or custom:
$locale = localeconv();
$locale['decimal_point'] = '.';
$setlocale(LC_ALL, $locale);
Подробная информация о Locale
Класс here
С другой стороны appareach using setlocale
и getting localeconv
.
Hacky быстро исправить также может быть:
$formatted = sprintf('%.1f',25.30 * 6);
Но я бы рекомендовал вам настройки локали, как они должны быть установлены. Также обратите внимание, что на окнах, setlocale(LC_ALL)
использует системные настройки локали, как указано в документации:
В Windows, Setlocale (LC_ALL, «») устанавливает имена локалей с настройками региональных/языка системы (доступны через Control Панель).
'$ string = 25.30 * 6; $ string = str_replace (',', '.', $ String); print $ string; ' – Albzi
Если вы получаете запятую, то ваши региональные настройки должны быть установлены на европейский стандарт – DevZer0
Вы уверены? Это то, что я получаю http://codepad.org/ecqRO2J9 Покажите свой код. –