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
Форумы портала PHP.SU :: Версия для печати :: Типы данных. Integer number, real (double, float) number.
Форумы портала PHP.SU » » Вопросы новичков » Типы данных. Integer number, real (double, float) number.

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

1. Oleh - 05 Августа, 2011 - 01:22:35 - перейти к сообщению
Прохожу сейчас тему "Типы данных" в учебнике 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".
2. Мелкий - 05 Августа, 2011 - 09:13:58 - перейти к сообщению
Oleh пишет:
Почему не выводится "12.0" ?

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

Познакомьтесь с функцией var_dump, она напишет, какого типа переданный аргумент.
3. Oleh - 05 Августа, 2011 - 22:06:38 - перейти к сообщению
Мелкий пишет:
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;
?>
4. DeepVarvar - 05 Августа, 2011 - 22:12:08 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $a = 1.003;
  2. $b = 0.997;
  3. $c = $a + $b;

 

Powered by ExBB FM 1.0 RC1