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

Форум PHP

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

 

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

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

тема: Проблема при переобразовании одного типа в другой
 
 автор: verg   (07.10.2009 в 20:29)   письмо автору
 
 

через
var_dump ($c)
я узнал что переменная "с" является string
string(22)
хотя сама переменная равна 0.01. При преобразовании этой переменной в int, она почему ть становится равной нулю, преобразую я так:
$c=(float)($c);
. Что сделать чтоб она была равна после преобрабразования была равна 0.01 и имела тип int . Или для этого нужен другой тип, мне нужно чтоб я мог эту переменную умножить на 5. Переменая с берется вот отсюда:
$arr = explode(" ", $xml_de); 
$c = $arr[4];

  Ответить  
 
 автор: cheops   (07.10.2009 в 20:42)   письмо автору
 
   для: verg   (07.10.2009 в 20:29)
 

Все правильно, целые числа не могут иметь дробной части. Когда вы преобразуете число 0.01 к целому - дробная часть отбрасывается и получается 0.

  Ответить  
 
 автор: verg   (07.10.2009 в 21:45)   письмо автору
 
   для: cheops   (07.10.2009 в 20:42)
 

А как мне тогда поступить, чтоб я мог умножить эту переменную с на 5 и в в другую переменную записать значение результита умножения?

  Ответить  
 
 автор: cheops   (07.10.2009 в 22:36)   письмо автору
 
   для: verg   (07.10.2009 в 21:45)
 

Используйте $c непосредственно
<?php
  $v 
$c 5;
?>

PHP сам позаботится о преобразовании в нужный тип данных, как $c, так и результатов вычисления.

  Ответить  
 
 автор: verg   (07.10.2009 в 23:17)   письмо автору
 
   для: cheops   (07.10.2009 в 22:36)
 

Вы дамаете если бы у меня так получалось, то я спраживал тут, в том то и дело что при такой формуле переменная V у меня почему то получается равной 0 - в этом та вся и проблема

  Ответить  
 
 автор: Trianon   (08.10.2009 в 00:01)   письмо автору
 
   для: verg   (07.10.2009 в 23:17)
 

Приведите точные исходные данные, а также точный вид ожидаемого результата, и фрагмент кода, который не делает того, что Вы от него ждете.
Сколько можно тянуть кота за хвост, чтобы задачу описать, которая ломаного яйца не стоит...

  Ответить  
 
 автор: cheops   (08.10.2009 в 00:14)   письмо автору
 
   для: verg   (07.10.2009 в 23:17)
 

Если не сложно, запустите следующий код
<?php 
  $c 
0.01;
  
$v $c 5;
  echo 
$v// 0.05
?>

Возможно у вас обнуление идет по другим причинам.

  Ответить  
 
 автор: Trianon   (08.10.2009 в 00:17)   письмо автору
 
   для: cheops   (08.10.2009 в 00:14)
 

если у человека в строке, выдернутой откуда-то из xml, 22 символа, а он приводит только 4 из них, то там может быть что угодно, но не число в строгом понимании. И тут уж какой код ни запускай...

upd.
Впрочем, нет.
Код echo bin2hex($c); вполне может пролить свет.

  Ответить  
 
 автор: cheops   (08.10.2009 в 00:19)   письмо автору
 
   для: verg   (07.10.2009 в 20:29)
 

А что изначально в строке $xml_de находится?

  Ответить  
 
 автор: verg   (12.10.2009 в 18:46)   письмо автору
 
   для: cheops   (08.10.2009 в 00:19)
 

Пришлось задачу решить по другому... всем спасибо!

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

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