|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.05.2010, 21:27 | #1 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Вопрос по сложению чисел
Привет, подскажите насчет небольшой проблемки.
Немного подзабыл, как в PHP это делается. Есть 2 числа такого вида: $a=45899091; $b=45900909; Нужно получить среднее арифметическое $c=(0.5*($a+$b)); Если так сделать, то пропадают последние знаки, получается 4,59E+7. Нужно же получить с максимальной точностью результат. Числа исходные могут быть и не целыми, иметь дробную часть и могут быть больше, чем макс. разрешенное целое. И еще вопрос: Имеется число вида 1.2345E+7. Как получить из него нужное число, которое будет, если домножить на 10^N (10^7 для данного случая)? Спасибо |
12.05.2010, 21:57 | #2 |
Заблокирован
Регистрация: 21.11.2008
Сообщений: 4,986
|
Попробуйте следующее, может поможет:
PHP код:
|
12.05.2010, 22:25 | #3 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Уже пробовал подобным образом, рез-т такой же.
Код:
|
12.05.2010, 22:35 | #4 |
Заблокирован
Регистрация: 21.11.2008
Сообщений: 4,986
|
Хм... Может быть, форматирование поможет(например, printf)?
|
12.05.2010, 23:31 | #5 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Как конкретно его тут применить?
|
12.05.2010, 23:46 | #6 |
Заблокирован
Регистрация: 21.11.2008
Сообщений: 4,986
|
|
13.05.2010, 14:13 | #7 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
варварство конечно, но работает
PHP код:
Стрелок-охотник
|
13.05.2010, 15:55 | #8 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
У меня могут быть и числа, большие разрешенных в типе int
|
15.05.2010, 11:59 | #9 |
Пользователь
Регистрация: 25.10.2009
Сообщений: 23
|
вообще-то, нормально работает
$c=($a+$b)/2; |
15.05.2010, 12:39 | #10 |
Пользователь
Регистрация: 25.10.2009
Сообщений: 23
|
<?
$a=458990905656.234612; $b=459009096655.12; $c=($a+$b)/2; echo $c; echo "<br>a=". $a; echo "<br>b=". $b; echo "<br>c=". $c; echo "<br>a*10000="; printf("'%f'\n", $a*10000); ?> результат ============ 459000001155.68 a=458990905656.23 b=459009096655.12 c=459000001155.68 a*10000='4589909056562346.000000' =============== к сожалению, это предел |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввести несколько чисел (кол-во чисел запрашивать с экрана). Определить, сколько чисел, меньших заданного | Lirika | Помощь студентам | 0 | 08.05.2010 21:39 |
Delphi:Определить имеется ли среди чисел a,b,c хотя бы одна пара взаимно противоположных чисел. | Skvot | Помощь студентам | 6 | 27.04.2009 11:47 |
Округление чисел: вопрос | rzrwolf | Microsoft Office Excel | 8 | 11.01.2009 21:06 |
вопрос по сокетам и общение как в ICQ.Сложный вопрос... | Руслантус | Общие вопросы C/C++ | 2 | 12.08.2008 21:10 |
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных | Белка | Помощь студентам | 3 | 27.10.2007 11:53 |