Я работаю над сценарием PHP, который обрабатывает пользовательский ввод из поля. Вход может содержать запятую в качестве десятичного сепаратора (например, 5,1), но для расчетов мне нужно преобразовать его в период (например, 5.1). < /P>
Я Пробовал использовать str_replace для обработки этой конверсии, но что -то не работает, как и ожидалось.function floatvalue($val){
$val = str_replace(",", ".", $val);
$val = preg_replace('/\.(?=.*\.)/', '', $val);
return floatval($val);
}
$hbapro = #18;
$hbapro = floatvalue($hbapro);
$hbamol = ($hbapro - 2.15) * 10.929;
echo number_format($hbamol, 2, '.', '');
< /code>
Когда я ввожу 5.1, все работает нормально, и я получаю правильный результат. Однако, когда я ввожу 5,1, расчет не работает так, как ожидалось, и я вообще не получаю результата. Из более старой версии кода я достал его до точки, где 5,1 признано 5, но это не то, что я хочу. < /P>
(вот старый код, возможно, это Помогает: < /p>
{PHP}
$hbapro = str_replace(',', '.', #18);
$hbamol = ($hbapro - 2.15) * 10.929;
echo str_replace(',', '.', number_format($hbamol, 2, '.', ''));
{/PHP}
Подробнее здесь: https://stackoverflow.com/questions/793 ... with-a-dot
Мне нужно что -то, чтобы преобразовать запятую десятичное значение в десятичное значение с точкой ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение