Погрешность при расчете результата в формуле

Программирование на Visual Basic for Applications
Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Погрешность при расчете результата в формуле

Сообщение Calvin » 14.11.2012 (Ср) 11:55

Добрый день. Есть проблема.Имеются числовые значения в ячейках

A1 = 69.59
A2 = 65.32

если в ячеке A3 поставить формулу A1-A2 , то полученное значение будет равно 4,27000000000001. Как это побороть? (что за миллиардные доли?)
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Погрешность при расчете результата в формуле

Сообщение iGrok » 14.11.2012 (Ср) 13:42

Побороть округлением до нужного кол-ва знаков.
Про то, что это за миллиардные доли читать тут: http://www.yur.ru/science/computer/IEEE754.htm
label:
cli
jmp label

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Re: Погрешность при расчете результата в формуле

Сообщение Calvin » 14.11.2012 (Ср) 14:16

просто не хотел ломать структуру имеющихся формул.....а так - большое спасибо за информацию...
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

Sam777e
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 157
Зарегистрирован: 16.09.2010 (Чт) 4:33

Re: Погрешность при расчете результата в формуле

Сообщение Sam777e » 14.11.2012 (Ср) 15:11

"Ломать" можно / нужно решайте сами, в зависимости от того, что вам надо : точность или внешний вид [ ехать или шашечки ;-) ] не

Calvin писал(а):структуру имеющихся формул


а формат ячеек . . . такие картинки знаете? монеток больше / монеток меньше . . .

Склонен полагать, что вам требуется именно внешний вид, т.е., округление - как и было сказано выше.
Вложения
Okruglenie.PNG
Okruglenie.PNG (372 байт) Просмотров: 2761
Здоровья и удачи

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Re: Погрешность при расчете результата в формуле

Сообщение Calvin » 14.11.2012 (Ср) 15:39

Я эти заманухи с форматами знаю, но если в книге excel, представляющей собой базу данных, линейно (построчно) рассчитывается остаток, то когда он должен быть ноль, то там число в экспоненциальном виде отображается, несмотря на то, что там формат ячейки "#,##0.000". Так что тут по-любому округлять надо. Понятное дело, что визуальное содержимое ячейки, не есть реальное....можно любую "маску" наложить.....вообщем благодарю за дискуссию...
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 14.11.2012 (Ср) 20:20

Calvin писал(а):то там число в экспоненциальном виде отображается

Значит, скорее всего, ты неверно настроил формат...

Sam777e
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 157
Зарегистрирован: 16.09.2010 (Чт) 4:33

Re: Погрешность при расчете результата в формуле

Сообщение Sam777e » 15.11.2012 (Чт) 0:49

to Calvin
Qwertiy писал(а):Значит, скорее всего, ты неверно настроил формат...

и, скорее всего, он прав.

Пожалуйста, ма-а-а-ленькую книгу - пример Excel' я - в студию !
Здоровья и удачи

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Погрешность при расчете результата в формуле

Сообщение alibek » 23.11.2012 (Пт) 16:42

Calvin писал(а):Я эти заманухи с форматами знаю, но если в книге excel, представляющей собой базу данных, линейно (построчно) рассчитывается остаток, то когда он должен быть ноль, то там число в экспоненциальном виде отображается, несмотря на то, что там формат ячейки "#,##0.000". Так что тут по-любому округлять надо. Понятное дело, что визуальное содержимое ячейки, не есть реальное....можно любую "маску" наложить.....вообщем благодарю за дискуссию...

Не нужно использовать Excel для таких задач.
А если используешь, то нужно включать опцию "Точность как на экране".
Lasciate ogni speranza, voi ch'entrate.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 39

    TopList