Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/почему 1,6-0,6=0,9999 ? - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » почему 1,6-0,6=0,9999 ? (Макросы/Sub)
почему 1,6-0,6=0,9999 ?
topgun88 Дата: Четверг, 10.10.2019, 15:49 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
здравствуйте, столкнулся с невероятной проблемой, может опытные уже знают в чем суть
в цикле есть следующее:
[vba]
Код
If oDicK.exists(arrR(i, 4)) Then
oDicK.Item(arrR(i, 4)) = oDicK.Item(arrR(i, 4)) - CDbl(arrR(i, 7) * qq)
End If
[/vba]
на определенном этапе oDicK.Item(arrR(i, 4))=1,6 а CDbl(arrR(i, 7) * qq) = 0,6
результатом вычислений является 0,999999...
далее по циклу подобные явления встречаются не раз, никакой закономерности уловить не могу, явления не случайные и с каждым выполнением макроса результат один и тот же


Сообщение отредактировал topgun88 - Четверг, 10.10.2019, 16:02
 
Ответить
Сообщениездравствуйте, столкнулся с невероятной проблемой, может опытные уже знают в чем суть
в цикле есть следующее:
[vba]
Код
If oDicK.exists(arrR(i, 4)) Then
oDicK.Item(arrR(i, 4)) = oDicK.Item(arrR(i, 4)) - CDbl(arrR(i, 7) * qq)
End If
[/vba]
на определенном этапе oDicK.Item(arrR(i, 4))=1,6 а CDbl(arrR(i, 7) * qq) = 0,6
результатом вычислений является 0,999999...
далее по циклу подобные явления встречаются не раз, никакой закономерности уловить не могу, явления не случайные и с каждым выполнением макроса результат один и тот же

Автор - topgun88
Дата добавления - 10.10.2019 в 15:49
Nic70y Дата: Четверг, 10.10.2019, 16:13 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5687
Репутация: 1248 ±
Замечаний: 0% ±

ru13;10;03


ЯД(poison) 41001841029809
 
Ответить
СообщениеПотомушто

Автор - Nic70y
Дата добавления - 10.10.2019 в 16:13
Pelena Дата: Четверг, 10.10.2019, 16:15 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 14585
Репутация: 3196 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Здравствуйте.
Используйте ОКРУГЛ()
Похожие темы
http://www.excelworld.ru/forum/2-5930-1
http://www.excelworld.ru/forum/2-42816-1
http://www.excelworld.ru/forum/2-18237-1


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Используйте ОКРУГЛ()
Похожие темы
http://www.excelworld.ru/forum/2-5930-1
http://www.excelworld.ru/forum/2-42816-1
http://www.excelworld.ru/forum/2-18237-1

Автор - Pelena
Дата добавления - 10.10.2019 в 16:15
topgun88 Дата: Четверг, 10.10.2019, 16:20 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ясно, спасибо. так и знал что явление известное, так не хотелось подставлять костыль с округлением
 
Ответить
Сообщениеясно, спасибо. так и знал что явление известное, так не хотелось подставлять костыль с округлением

Автор - topgun88
Дата добавления - 10.10.2019 в 16:20
Мир MS Excel » Вопросы и решения » Вопросы по VBA » почему 1,6-0,6=0,9999 ? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!