Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » php неправильно считает при делении

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, помогите исправить код.
 

Код:
1 = <?php echo $user->gold; ?>
2 = <?php echo round(($user->gold/100), 2); ?>

 
Результат есть:

Код:
1 = 46842682
2 = 468430

 
Результат должен быть:

Код:
1 = 46842682
2 = 468426.82

 
подскажите, в чем тут проблема? И как её исправить?

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 18:46 07-01-2015
Symba87



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может быть стоит взять $user->gold в скобки ()...
больше ни чего в голову пока не пришло, НО вот так

Код:
<?php  
$a = 46842682;
echo $a.'<br>';
$b = $a/100;
echo round($b, 2);  
?>

все верно считает...
 
46842682
468426.82

Всего записей: 12 | Зарегистр. 15-05-2013 | Отправлено: 21:02 07-01-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
$user->gold

какой тип? строка или число?  
правда при делении должно быть автоматическое приведение типа, но может что то не так срабатывает.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 22:01 07-01-2015
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
численной.
 
Но тут ещё в таком есть прикол, я если напишу
 

Код:
$time = 21321312312.1;
echo $time;

 
результат будет 21321312300
 
Добавлено:
Symba87
а у меня ваш результат:
 

Код:
46842682
468430

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 23:11 07-01-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
результат будет 21321312300  

у меня все ок.
версия php? версия и битность ОС?
судя по всему, у вас идет потеря точности.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 23:19 07-01-2015 | Исправлено: Mavrikii, 23:20 07-01-2015
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
PHP Version 5.2.6
System Windows NT Денис-ПК 6.1 build 7601
Apache/2.2.22 (Win32) PHP/5.2.17
OC Windows 7x64

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 23:33 07-01-2015 | Исправлено: Sutar, 23:35 07-01-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
PHP Version 5.2.6  

ну, совсем уж старье. а поновее использовать?
 
как минимум 5.3, а лучше уж 5.5 и выше

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 23:37 07-01-2015 | Исправлено: Mavrikii, 23:37 07-01-2015
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
а в чем отличие? (в 2-х словах)
добавлены новые функции?)

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 23:38 07-01-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
а в чем отличие? (в 2-х словах)  
добавлены новые функции?)

2 слов не хватит, но исправлены и баги
http://php.net/manual/ru/migration53.php
http://php.net/manual/ru/migration54.php
http://php.net/manual/ru/migration55.php

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 23:41 07-01-2015
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
скачал версию php-5.5.20-nts-Win32-VC11-x86
подключил к апатч, но там не было .dll я взял с старой версии....
потом поправил php.ini
Apacha 2.2 запустился.... но в логах такая ошибка:
 

Код:
PHP Warning:  PHP Startup: Unable to load dynamic library 'D:\\localhost\\php5.5.20\\ext\\php_gd2.dll' - \xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'D:\\localhost\\php5.5.20\\ext\\php_mbstring.dll' - \xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'D:\\localhost\\php5.5.20\\ext\\php_mysql.dll' - \xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'D:\\localhost\\php5.5.20\\ext\\php_sockets.dll' - \xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.\r\n in Unknown on line 0
 

 
а на сайте отображается просто белая страница. (нет даже html кода)
в Apacha cfg  
 

Код:
<IfModule mod_php5.c>
  AddType application/x-httpd-php .php
</IfModule>

 
скорей всего она не срабатывает.....
что делать?

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 23:56 07-01-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
что делать?

спрашивать в теме по настройке и установке апача, в помощи сисадмину.
 

Цитата:
но там не было .dll я взял с старой версии.

они, вообще то, несовместимы.
 

Цитата:
Please use the Apache builds provided by Apache Lounge. They also provide VC11 builds of Apache for x86 and x64. We use their binaries to build the Apache SAPIs.
 
If you are using PHP with Apache 1 or Apache2 from apache.org (not recommended) you need to use the older VC6 versions of PHP compiled with the legacy Visual Studio 6 compiler. Do NOT use VC9+ versions of PHP with the apache.org binaries.
 
With Apache you have to use the Thread Safe (TS) versions of PHP.

 
ну и основную dll нужно тоже размещать где нужно.
 
а вообще, лучше делать не под Windows - поставить виртуальную машину или использовать, к примеру, Vagrant
https://ru.wikipedia.org/wiki/Vagrant

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 00:06 08-01-2015 | Исправлено: Mavrikii, 00:11 08-01-2015
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
да я на этом хостинге в основном веду разработки.
тут похоже и Apacha 2.2.22 нужно минимум к 2.4 обновлять....

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 00:16 08-01-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » php неправильно считает при делении


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru