Имя: Пароль:
IT
 
Excel, округление и непонятно (
0 EuVod
 
31.05.13
22:09
Не понимаю как устроен этот Excel (2010) в 2003 и ранее таких приколов не припомню.
Например
1    78.85      =(B2*100-ЦЕЛОЕ(B2*100))/100    -9.09495E-15
2    78.86      =(B3*100-ЦЕЛОЕ(B3*100))/100    0
3    80.85      =(B4*100-ЦЕЛОЕ(B4*100))/100    -9.09495E-15
4    81.85      =(B5*100-ЦЕЛОЕ(B5*100))/100    -9.09495E-15
5    82.85      =(B6*100-ЦЕЛОЕ(B6*100))/100    0
6    83.85      =(B7*100-ЦЕЛОЕ(B7*100))/100    0

т.е. беру число имеющее ровно десятичных 2 знака, умножаю на 100 (получаю "целое") беру от него целое делю на 100 (получаю обратно это же число) - вычитаю его из себя в надежде получить чистый 0.. И фиг вам!

Пример конечно искусственный, но он иллюстрирует, почему у меня итоги в выгруженной из 1С книги продаж в которой все суммы с точностью до копейки, получаются с "хватами" в мантиссе. ((

Что там в экселе подкрутить, чтоб он не выделывался?
1 Ковычки
 
31.05.13
22:10
формат ячейки
2 EuVod
 
31.05.13
22:10
причем для некоторых чисел все ок, а для некоторых возникают погрешности арифметических операций. Достает (
3 EuVod
 
31.05.13
22:11
какой именно ячейки? с исходным числом? общий. Если сделать "Число" с точностью до 2х знаков ничего не меняется
4 Зойч
 
31.05.13
22:12
особенности представления чисел с плавающе
5 Зойч
 
31.05.13
22:12
точкой на платформе intel
6 EuVod
 
31.05.13
22:12
понятно, что если в резльтирующе ячейке сделать формат N.2 то хвостов видно не будет. Но они там есть - и дальше при копировании например в другие ячейки мешаются - приходится подправлять руками.
7 EuVod
 
31.05.13
22:13
да понятно, что это нецелочисленная арифметика, но блин эксель, он же для домохозяек - таки фокусы могут поставить их в ступор )
8 EuVod
 
31.05.13
22:13
короче по ходу не лечится (
9 Ковычки
 
31.05.13
22:13
10 Ковычки
 
31.05.13
22:14
(3) результирующей
11 Зойч
 
31.05.13
22:15
12 EuVod
 
31.05.13
22:16
ну тогда уж точнее делать округление.. ладны бы это был разность числе отличающихся друг от друга на несколько порядков и прочие неусточивые по точности вещи.. но тут неожиданный такой эффект )
Суммирование то обычно устойчивая операция
13 sdv2000
 
31.05.13
22:19
как страшно жить, не?
14 EuVod
 
31.05.13
22:19
мне формат не поможет, т.к. напоролся когда копировал и вставлял значение.

пустячок но досадный )
15 EuVod
 
31.05.13
22:19
(13)
страшно жить на белом счете
в нем отсутствует уют
ветер воет на рассвете
волки зайчика грызут
16 Ковычки
 
31.05.13
22:19
(12) а Вы не думали, что существуют реальные числа ?
17 EuVod
 
31.05.13
22:20
(16) я думал,что на подобных примерах даже работая с типом real по факту не вылезло бы таких погрешностей )
хотя не проверял )
18 EuVod
 
31.05.13
22:22
т.е. это все понятно и причины понятны. но эксель это ж вычислитель для домохозяек.. может он умеет "причесываться" ))
19 Ковычки
 
31.05.13
22:23
(17) соглашусь, что это непорядок для пользователя, но так уж устроено вычисление, даже -1 может иметь не одно определение у долбанутых компутерщиков ) (проблема тут не в мс)