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 :: Типы данных. Integer number, real (double, float) number.

 PHP.SU

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


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

> Описание: Преобразование из типа integer в тип float.
Oleh
Отправлено: 05 Августа, 2011 - 01:22:35
Post Id


Новичок


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


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




Прохожу сейчас тему "Типы данных" в учебнике PHP.
Приводится пример преобразования типов из целого числа (integer number) в вещественное (real number).

"Простой пример преобразования типов:
$variable1=12; // $variable1 присваивается целое число 12
$variable2=(double)$variable1; // $variable2 присваивается 12.0"

Я прописываю в Dreamweaver следующм образом:

<?
$variable1=12;
print $variable1."<br>";
$variable2=(real)$variable1;
print $variable2."<p>";
?>

Мне IE8 выводит цифры "12" и "12" (одна под другой), а не "12" и "12.0". Почему не выводится "12.0" ?
Кроме того, у меня подсвечивает только (real), а (double), (float) и (integer) не подсвечивает. Почему ?
Тем не менее не работают все три оператора преобразования. Что не так ?

Вместе с тем, преобразование из real number в integer number происходит.

<?
$variable1=14.7;
print $variable1."<br>";
$variable2=(integer)$variable1;
print $variable2;
?>

Этот код работает. Выводит "14.7" и "14".
 
 Top
Мелкий Супермодератор
Отправлено: 05 Августа, 2011 - 09:13:58
Post Id



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


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


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




Oleh пишет:
Почему не выводится "12.0" ?

Потому что нули после точки не пишутся, как и сама точка в случае отсутствия дробной части.
Не, если хотите, можете любоваться на реальный вид float'а - через экспоненту, типа такого: 1.528535047E-25

Познакомьтесь с функцией var_dump, она напишет, какого типа переданный аргумент.


-----
PostgreSQL DBA
 
 Top
Oleh
Отправлено: 05 Августа, 2011 - 22:06:38
Post Id


Новичок


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


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




Мелкий пишет:
Oleh пишет:
Почему не выводится "12.0" ?

Потому что нули после точки не пишутся, как и сама точка в случае отсутствия дробной части.
Не, если хотите, можете любоваться на реальный вид float'а - через экспоненту, типа такого: 1.528535047E-25

Познакомьтесь с функцией var_dump, она напишет, какого типа переданный аргумент.

Познакомился с функцией. Прописал её с $variable2. Мне выдало: float(12).
Насколько я понял, то даже при использовании var_dump() значение переменной всё равно будет без точки и нуля. Будет отображаться только "12", а не "12.0".

Как смотреть на реальный вид float'a через экспоненту ? Для чего используется ?
Почему после функций var_dump() и print_r() не работают теги "<p>" и "<br>", как они работают после функции print() ? Ведь var_dump() и print_r() тоже выводят на экран тип и значение переменной.

<?
$variable1=12;
print $variable1."<br>";

$variable2=(real)$variable1;
print $variable2."<p>";

var_dump ($variable2)."<p>";

print_r ($variable2)."<p>";

$var1=floatval($variable2)."<br>";
print $var1;
?>
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Августа, 2011 - 22:12:08
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. $a = 1.003;
  2. $b = 0.997;
  3. $c = $a + $b;
 
 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