Как проверить, число или нет, если использован number_format?

Эдди

Новичок
В поле формы по умолчанию вводится из БД число float, отформатированное при помощи number_format так, что вместо точки выводится запятая. Как я понимаю, число становится уже не числом, а строкой.

Далее при сохранении обратно в БД хотелось бы проверить, не ввели ли в это поле текст.
Функция is_numeric, естественно, не работает.
Можно перед сохранением преобразовывать обратно запятую в точку с помощью str_replace или number_format? Но они все равно останутся строкой.

Проверка нужна по следующей причине:
Если в поле ввести текст - получаем 0,00
Если текст и цифры - результат непредсказуем = гигантские цифры.

help:)
 

Фанат

oncle terrible
Команда форума
не останутся
предсказуем

практика - лучший учитель.
куда полезнее сразу же проверять свои фантазии на практике, чем вываливать их на форум.

и вот уже по результатам запусков реального кода можно приходить на форум, и спрашивать - что с ним не так.
 

Эдди

Новичок
Фантазии проверил, прежде чем писать.
is_numeric не признает их числом.
Возможно, как-то по-другому надо проверить.
 

Эдди

Новичок
Извини, пожалуйста. Упростив скрипт понял, что str_replace работает, как надо. А обратное преобразование с number_format черт знает, что выдает.

Прошу прощения. И спасибо!!!
 

Фанат

oncle terrible
Команда форума
извиняться не надо, а вот упрощать скрипт надо обязательно.
иначе выводы, которые ты делаешь, всегда бужут неправильными.
проверяя какую-то одну функцию, код надо писать только с ней одной и больше ничего в нем не должно быть
 
Сверху