|
|
|
| Почему числа больше 3 000 000 000 преобразовываются в какой-то не понятный формат?
3.0E+9
Я читал про ф-ю intval, но оно преобразовывает обратно не правильно.
intval ('3000000000')
В итоге показывает это:
-1294967296
В общем вопрос, как вернуть из 3.0E+9 в 3 000 000 000 обратно | |
|
|
|
|
|
|
|
для: Ванек2010
(15.05.2010 в 00:40)
| | Потому, что 32 разряда данных, из которых половина под целые положительные числа отведена, вторая под отрицательные. И это не преобразование, а представление. Хотите естественного представления - в строку. | |
|
|
|
|
|
|
|
для: sim5
(15.05.2010 в 05:57)
| | Что значит хранить в строке? Можно по подробнее | |
|
|
|
|
|
|
|
для: Ванек2010
(15.05.2010 в 15:03)
| | А то и значит - строковое представление. Для работы с математикой произвольной точности служат функции BCMath. | |
|
|
|
|
|
|
|
для: sim5
(15.05.2010 в 15:11)
| | Можете показать один пример? Я с примеров сразу понимаю | |
|
|
|
|
|
|
|
для: Ванек2010
(15.05.2010 в 16:17)
| | Открывайте мануал, ищите описание этих функций и учите. Ну вам же это нужно, в первую очередь, не мне. Читаете о первой функции в списке:
bcadd - складывает два числа произвольной точности.
Описание
string bcadd (string left_operand, string right_operand [, int scale])
Складывает left_operand с right_operand и возвращает сумму в виде строки. Необязательный параметр scale используется для установки количества цифр после десятичного разделителя в результате.
Выполняете сами любой пример:
<?
$a = 3000000000;
$b = 4000000000;
echo bcadd($a, $b);
|
Ну неужели это так трудно для понимания, и сложно самому исполнить? | |
|
|
|
|
|
|
|
для: sim5
(15.05.2010 в 16:31)
| | Ну для меня трудно, т.к. я многое не понимаю язык мануала...
Как будето для своего крутого друга программиста пишут в мануале.
Ну вы написали BCMatch искал я BCMatch, выдало еще штук 8 ф-ий, какую надо использовать хз..
Вот вы показали пример
<?
$a = 3000000000;
$b = 4000000000;
echo bcadd($a, $b);
|
Я сразу все понял, вот так бы писали в книгах, было бы супер. | |
|
|
|
|
|
|
|
для: Ванек2010
(15.05.2010 в 16:36)
| | Значит слова:
Складывает left_operand с right_operand и возвращает сумму в виде строки
вам не понятны?
[поправлено модератором] | |
|
|
|
|
|
|
|
для: sim5
(15.05.2010 в 16:40)
| | Не помогло. Выдает 0 | |
|
|
|
|
|
|
|
для: Ванек2010
(15.05.2010 в 23:32)
| | Подсказали использовать ф-ю number_format();
Спс | |
|
|
|
|
|
|
|
для: Ванек2010
(15.05.2010 в 00:40)
| | PHP на 32-разрядной платформе в переменной типа int не в состоянии хранить числа, превышающие по абсолютной величине 2 миллиарда с хвостиком. | |
|
|
|
|
|
|
|
для: Ванек2010
(15.05.2010 в 00:40)
| | Это нужно использовать библиотеки для работы с большими числами (которые хранят их в строке) | |
|
|
|