Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Заменить запятую на точку

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как заменить во введенном пользователем тексте запятую на точку
Deonis
Отправлено: 17 Марта, 2010 - 05:26:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009  


Помог: 14 раз(а)




Есть задача, которая наверняка многим покажется смешной, но сделайте скидку на то, что я занимаюсь PHP и MySQL только месяц и без учителей.
Итак, пользователь вводит в форму цену товара, которая имеет "копейки", например 110,55. В таблице поле price имеет тип float(7,2) . Естественно, что запись храниться в базе не как 110,55 (с запятой), а 110.55 (с точкой) . Посему и вводить цену надо с точкой, а в ином случае в поле запишеться просто 110.00
Как сделать так, чтоб если пользователь ввел случайно цену с запятой, перед внесением в базу запись проверялась и, если надо, то запятая менялась на точку? Но что ещё более сложное для меня, так это решить проблему, если пользователь введёт ошибочно какой-нибудь символ после цены, например - 110,55f

(Отредактировано автором: 17 Марта, 2010 - 06:16:09)

 
 Top
AdMeen
Отправлено: 17 Марта, 2010 - 07:38:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




Ничего смешного нет ... хотя, маны надо читать =).
PHP:
скопировать код в буфер обмена
  1.  
  2. str_replace(',','.',$price);
  3. #это у нас на тот случай, если введена хрень
  4. $price_f=floatval($price);
  5.  


Отредактировано модератором: Champion, 17 Марта, 2010 - 08:42:26
Не надо цицировать целиком предыдущее сообщеине
 
 Top
Deonis
Отправлено: 17 Марта, 2010 - 09:37:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009  


Помог: 14 раз(а)




AdMeen пишет:
... хотя, маны надо читать =).

Вы правы, обычно так и делаю, но почему-то с этой проблемой зашел в тупик, всю ночь по инету искал ответ, но видать промахивался Улыбка Мне показалось, что ответ лежит где-то рядом с функцией preg_replace, но и разобраться самому пока с ней не удалось, и с верного пути меня это чуть сместило.

ЗЫ. Спасибо за помощь, всё работает Улыбка

(Отредактировано автором: 17 Марта, 2010 - 09:42:28)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB