Имя: Пароль:
IT
 
Пропала вера в Excel (неверные расчеты)
0 timurhv
 
13.05.13
20:54
Сегодня бухи одолели с одной ошибкой Excel при расчете:

= 7868427065,61 - 8559740263,35. У вычисляемой ячейки установить формат числовой с 6 и более десятичными знаками, то результат будет -691313197,740001. Притом если к результату прибавить 691313197,74, то будет 0.
Откуда единичка на конце взялась? Бухи все валили на 1С, т.к. сохраняли сформированный отчет, еле переубедил)))
1 Ковычки
 
13.05.13
20:56
по тому, что все числа в формулах, а не самостоятельные
2 Лодырь
 
13.05.13
20:58
эксель проводит все вычисления в числах с плавающей точкой. округление используется лишь для отображения а не вычисления.
3 Лефмихалыч
 
13.05.13
20:59
в настройках где-то есть галка "Точность, как на экране", которая с этой балдой справляется
4 Лефмихалыч
 
13.05.13
21:00
+(3) а вообще правильный ответ 1сника: "Ваш эксель, сами с ним и сношайтесь"
5 timurhv
 
13.05.13
21:10
(3) Галочка не помогает :(
6 megabax
 
13.05.13
21:11
4, правильный ответ: это не проблема 1С, обратитесь к системному администратору.
7 HeroShima
 
13.05.13
21:12
(2) если не указано в формуле явно
8 bse
 
13.05.13
21:24
(4) +100500
9 vinogradъ
 
13.05.13
21:32
Да, интересно, в Libre тоже единичка появляется
10 Злопчинский
 
13.05.13
21:39
дай демофайл, проверю на кингофисе
11 vinogradъ
 
13.05.13
21:41
(10) просто в ячейке посчитай 7868427065,61 - 8559740263,35
12 Иде я?
 
13.05.13
21:41
а еще ексель коряво вставляет данные из SQL Management studio  - иногда десяток строк в одну ячейку запихивает
14 vinogradъ
 
13.05.13
21:45
(12) мастер импорта тебе поможет, или через текстовый редактор вставляй
17 Злопчинский
 
13.05.13
21:45
18 NS
 
13.05.13
21:52
Жесть! Не все программисты оказывается знают что такое "число с плавающей запятой"
19 Asmody
 
13.05.13
22:59
(0) это проделки Дьявола! У вас компьютеры освященные?
20 Фёдор14
 
13.05.13
23:03
(5) Прописывай округления в формулах
21 NS
 
13.05.13
23:05
(20) Нафига? Округление ничего не изменит.
22 Академик_
Келдыш
 
13.05.13
23:54
Правильный ответ: купили офис за 200 баксов? Где купили туда и идите!!!
23 Академик_
Келдыш
 
13.05.13
23:57
А вообще фирма миллиардера сделала прогу, которая и поллярда посчитать без ошибки не может.
24 Академик_
Келдыш
 
13.05.13
23:59
Кстати помню как то на процессорах амд калькулятор выдавал другой результат нежели на интеле
25 timurhv
 
14.05.13
02:35
(23) Не так, в гугле такая же фигня.
Сделали компьютеры, точнее которых порой любой школьник посчитает)))
26 ptrtss
 
14.05.13
08:06
(0) Это числа с плавающей точкой

Дело в том, что здесь у тебя одновременно и сравнительно много знаков после запятой и до. Флоут так не работает.

При числах вроде 10000000000000000000.000000000000000001 еще хуже чудеса будут
27 ptrtss
 
14.05.13
08:10
Пример:

100000000000000 + 0.1 = 0
28 kosts
 
14.05.13
08:25
(27) Наверное хотел сказать
100000000000000 + 0.1 = 100000000000000
29 ЧеловекДуши
 
14.05.13
08:31
У меня тоже нормально посчитал, ексель :)

= 7868427065,61 - 8559740263,35 = -691 313 197,74р.

Господа, что за чушь вы порете по поводу екселя?
Научите своих толстушек выставлять Финансовый формат у ячеек :)
30 ЧеловекДуши
 
14.05.13
08:33
-691313197,74 - Результат расчета на калькуляторе :)

Ибо все ровно бухи работают только с рублями, где только два знака после запятой. А как там внутри считает ексель, так это никого не волнует.
Все ровно 1 - 2 копейки в любом случае зависнут, где-нибудь :)
31 Ageres
 
14.05.13
08:37
(29) А то, что 0,61 - 0,35 = -0,26, тебя не смущает?
32 Ageres
 
14.05.13
08:40
(31) Сам перегрелся, правильно все :)
33 Черт
 
14.05.13
08:48
(31) с математикой видать туго :D
34 ptrtss
 
14.05.13
08:57
(28) >> Наверное хотел сказать 100000000000000 + 0.1 = 100000000000000

Ну да, конечно
35 ptrtss
 
14.05.13
08:58
Еще жестче прикол:

1000000000000000 + 1 = 1000000000000000
36 Alexor
 
14.05.13
09:14
Уже не помню, в физике или математике:
результат не может быть точнее чисел в формуле.

Нас в институте за формулу
= 7868427065,61 - 8559740263,35 =-691313197,740000
Сразу оценку снижали.
37 NikVars
 
14.05.13
09:41
38 360i
 
14.05.13
09:51
http://forum.onliner.by/viewtopic.php?t=403727
Excel сохраняет числа и проводит вычисления с точность до 15 цифр.
попробуй ввести число 123456789012345678
получишь на экране чи 122456789012345000 Он даже округлять не будет. Заменит три последние цифры на нули и все.
39 CaMoJleT
 
14.05.13
09:54
40 пипец
 
14.05.13
10:09
(0) скажу более разные модели калькулятора цитизен - считают с разным округдением одни и те же формулы
41 NS
 
14.05.13
12:04
(38) Эксель вычисляет в двоичном формате. (64 битное число по стандарту IEEE 754) Это примерно 15 десятичных знаков, а не 15 десятичных знаков. Единица в 15-ом разряде лишняя у него может выскочить при любых операциях (даже если операнды достаточно короткие), как и практически в любой другой системе.
AdBlock убивает бесплатный контент. 1Сергей