Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа со строкой
 
 автор: Sharax   (30.08.2014 в 18:22)   письмо автору
 
 

Здравствуйте!
Есть строка "50.45" мне ее нужно преобразовать в число и умножить на 1.2
intval() не подходит, почему-то выводит 0

  Ответить  
 
 автор: confirm   (30.08.2014 в 18:38)   письмо автору
 
   для: Sharax   (30.08.2014 в 18:22)
 

http://php.net/manual/ru/language.types.type-juggling.php
http://php.net/manual/ru/function.floatval.php

Заглядывайте в руководство, это ведь не сложно.

  Ответить  
 
 автор: Sharax   (31.08.2014 в 01:29)   письмо автору
 
   для: confirm   (30.08.2014 в 18:38)
 

Спасибо! Разобрался.

Еще вопрос, есть например сторока "Americas -93" или "Europe - (121) pack"

как из строки достать только число?

  Ответить  
 
 автор: confirm   (31.08.2014 в 07:56)   письмо автору
 
   для: Sharax   (31.08.2014 в 01:29)
 

<?
$str 
'Americas -93';
//заменой
$str preg_replace("/\D/"""$str);
echo 
$str;
//или извлечением
preg_match("/(\d+)/"$str$arr);
echo 
$arr[0];


http://php.net/manual/ru/book.pcre.php

  Ответить  
 
 автор: Sharax   (01.09.2014 в 01:49)   письмо автору
 
   для: confirm   (31.08.2014 в 07:56)
 

Спасибо, работает!
И еще вопрос, последний))

Если скажем строка пустая или в ней просто пробел или перевод строки типа \r\n или неколько пробелов и переводов, как все это дело (строку) превратить в 0?

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

  Ответить  
 
 автор: confirm   (01.09.2014 в 07:25)   письмо автору
 
   для: Sharax   (01.09.2014 в 01:49)
 

>как все это дело (строку) превратить в 0?

А надо было задавать этот вопрос, если ваши эксперименты ранние на него давали ответ: intval() не подходит, почему-то выводит 0 ?

Я вам давал ссылку на раздел руководства о типах. Изучать.

Кроме этого, стоку от пробелов, переводов можно очистить с помощью trim(), после чего проверить ее наполнение.

  Ответить  
 
 автор: Trianon   (31.08.2014 в 16:19)   письмо автору
 
   для: Sharax   (30.08.2014 в 18:22)
 

echo "50.45" * 1.2; дает 60.54
как применить intval() , чтобы при этом получить 0 ?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования