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]   

> Описание: округляется переменная, или как это может быть?
sairus.ua
Отправлено: 01 Августа, 2010 - 12:37:05
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Авг. 2010  


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




Через simplexml получаю 2 переменных, потом их перемножаю с остальными переменными.
PHP:
скопировать код в буфер обмена
  1.  
  2. echo($price."<br>".$credit."<br>".$myprice."<br>".$dollar_curs); // выводит 0.53    0.05    1.5   8
  3. echo($price*$credit*$myprice*$dollar_curs);  выводит 0
  4.  



Почему при перемножении выводится 0 ????? Ведь переменные содержат ненулевые значения
 
 Top
Champion Супермодератор
Отправлено: 01 Августа, 2010 - 12:45:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Не верю.
PHP:
скопировать код в буфер обмена
  1. var_dump($price);
  2. var_dump($dollar_curs);
  3. var_dump($credit);
  4. var_dump($myprice);
  5. var_dump($price * $credit * $myprice * $dollar_curs);

Прям скопируй и скажи, что будет
 
 Top
sairus.ua
Отправлено: 01 Августа, 2010 - 13:13:51
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Авг. 2010  


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




CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. float(0.05) int(8) object(SimpleXMLElement)#2 (1) { [0]=>  string(4) "0.53" } string(3) "1.5" float(0)
  3.  



Я понял, что это значит. Я множил на строку. Вот почему только $credit строка, если я в начала, создавая глобальную переменную $credit прописал: settype($credit,"float");

Как в таком случае конвертировать эту переменную в float?


P.S. Благодарю за оказанную помощь!
 
 Top
Champion Супермодератор
Отправлено: 01 Августа, 2010 - 13:22:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Да, в общем-то, string, если он не содержит левых символов, к числовым типам обычно приводится сам собой без проблем. У меня было подозрение, что там всякие символы перевода строки перед цифрами или еще что-то. Тогда можно просто обработать строку с пом. trim().

Но из приведенного листинга видно, что одна из переменных - это вообще объект... Умножение на объект же ж не изобрели еще.
 
 Top
sairus.ua
Отправлено: 01 Августа, 2010 - 13:33:06
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Авг. 2010  


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




Спасибо!

(Отредактировано автором: 01 Августа, 2010 - 13:35:03)

 
 Top
JustUserR
Отправлено: 01 Августа, 2010 - 13:54:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Champion пишет:
Умножение на объект же ж не изобрели еще.
В этом плане удобны языки программирования объекты в которых являются наследниками некоторой базовой структуры которая содержит для них общие свойства и методы такие как toString - это позволяет в некотором плане переопределять операторы в зависимости от числового или строкового контекста


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB