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 :: Версия для печати :: Работа с числами, как сменить тип ?
Форумы портала PHP.SU » PHP » Программирование на PHP » Работа с числами, как сменить тип ?

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

1. CTAPu4OK - 11 Декабря, 2010 - 18:50:58 - перейти к сообщению
Есть код
PHP:
скопировать код в буфер обмена
  1. $b=15;
  2. $i=0;
  3. while ($i++<110) {
  4.     echo $i.'. '.ceil($b).'<br />';
  5.     $a=1.5;
  6.     $b=$b*$a;
  7. }

до 62-го пункта он выводит нормально, дальше начинает приобразовывать его в другой тип
1.2409358192E+12

Тут есть 2 вопроса.
Как называется этот тип числа и как его сменить на нормальный ?
2. OrmaJever - 11 Декабря, 2010 - 19:01:27 - перейти к сообщению
1.24 - float
34244 - int
Чтобы назначить тип переменой нужно поставить тип в скобках перед ней
PHP:
скопировать код в буфер обмена
  1. $num = '123';
  2. var_dump($num);
  3. $num = (int)$num;
  4. var_dump($num);
  5.  

(Добавление)
хотя для таких случав есть полезные функции inval(), strval() ...
3. CTAPu4OK - 11 Декабря, 2010 - 19:28:09 - перейти к сообщению
OrmaJever пишет:
1.24 - float
34244 - int
Чтобы назначить тип переменой нужно поставить тип в скобках перед ней
PHP:
скопировать код в буфер обмена
  1. $num = '123';
  2. var_dump($num);
  3. $num = (int)$num;
  4. var_dump($num);
  5.  

(Добавление)
хотя для таких случав есть полезные функции inval(), strval() ...

Не то и не другое не работает =(
Мне нужно не приобразовать строку в число а изменить тип вывода данных, т.е.
1.2409358192E+12 это 827290546131 умноженное на 2, нужно что бы выводилось
не 1.2409358192E+12 a 1654581092262, хоть убейте, целый день провозился, не могу решить :\
Как 1.2409358192E+12 вот такой вот тип данных называется ?)
4. OrmaJever - 11 Декабря, 2010 - 19:34:00 - перейти к сообщению
CTAPu4OK пишет:
Как 1.2409358192E+12 вот такой вот тип данных называется ?)

вот конкретно такой называется string. Это просто строка.
Что делает E в конце первого числа?
(Добавление)
хмм ну просто число слишком большое. При проходе каждого цыкла переменая $b становится всё больше. это так и нужно?
5. Ch_chov - 11 Декабря, 2010 - 19:48:29 - перейти к сообщению
ini_set('precision', 21);
6. CTAPu4OK - 11 Декабря, 2010 - 19:53:59 - перейти к сообщению
OrmaJever пишет:
хмм ну просто число слишком большое. При проходе каждого цыкла переменая $b становится всё больше. это так и нужно?

Да, это так и нужно =)

Ch_chov пишет:
ini_set('precision', 21);

Огромное спасибо =)
7. JustUserR - 11 Декабря, 2010 - 20:57:48 - перейти к сообщению
CTAPu4OK Для осуществления вывода числового значения с плавающей точной с осуществление спецификации количесва значащих разрядок и формы вывода в конкретной операции PHP-скрипта - целесообразно использование функции форматированного вывода http://php.su/functions/?printf - или http://php.su/functions/?sprintf в случае необходимости осуществления последующего представления числового объекта в строковом виде и выполнения операций с ними

 

Powered by ExBB FM 1.0 RC1