frost18
@frost18
Программист PHP

Как мне преобразовать строку в число?

Сохранил Excel в csv на Mac ос. В итоге вышел файл в кодировке windows-1251 вроде (в Notepad++ написано ANSI). В этом файле имеется ячейка с ценой "2 568".
Проблема в том что я не могу преобразовать его в integer.
$price = '2 568';
intval(price) //int(2)
str_replace(' ', '', $price) //string(6) "2 568"
preg_replace('/\s+/', '', $price) //string(6) "2 568"
iconv("windows-1251", "utf-8", $price)//string(8) "2В 568"

Как правильно получить значение 2568 ?
  • Вопрос задан
  • 2334 просмотра
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
$price = (int)preg_replace('/[^0-9]/','',$price); оно?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
samoilenkoevgeniy
@samoilenkoevgeniy
Lead Full-Stack Web Developer
1) убрать пробелы из числа
2) либо явное преобразование (int), либо $string = 'xyz22' + 0 // 22
Ответ написан
frost18
@frost18 Автор вопроса
Программист PHP
$price = (int)preg_replace('/[^0-9]/','',$price);
получилось, спасибо
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы