|
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 может иметь не одно определение у долбанутых компутерщиков ) (проблема тут не в мс)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |