Преобразовать число в другое
Так что у меня есть эта маленькая проблема. У меня есть форма, где вы можете ввести число, оно может быть в европейском формате, с запятой в виде десятичной дроби (,), или американской с десятичной запятой (.).
Зная это, как я могу конвертировать числовой формат из европейско-американского формата? А американский формат оставить без изменений?
Я пытался использовать эту формулу, но результат неправильный.
$american = '12.5';
$european = '12,5';
$locale = 'it_IT.utf8';
setlocale ('LC_NUMERIC', $locale);
$fmt = new NumberFormatter ($locale, NumberFormatter::DECIMAL);
$american = $ fmt->parse($american);
$european = $ fmt->parse($europen);
response
$american = 125
$european = 12.5
В чем проблема?
php ver. 5.4.10
2 ответа
Попробуйте следующий код:
$american = '12.5';
$european = '12,5';
$locale = 'en_US.utf8';
$fmt = new NumberFormatter ($locale, NumberFormatter::DECIMAL);
$american = $fmt->parse($american);
$locale = 'it_IT.utf8';
$fmt = new NumberFormatter ($locale, NumberFormatter::DECIMAL);
$european = $fmt->parse($european);
Получить желаемый результат?