Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

21 Ноябрь 2017, 00:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2   Вниз
  Печать  
Автор Тема: целочисленное деление работает неправильно  (Прочитано 840 раз)
0 Пользователей и 1 Гость смотрят эту тему.
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 291


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #15: 17 Октябрь 2017, 14:57 »

Кстати, Netlog! Спасибо за интересный вопрос (а то что-то скучно было в последнее время) и за найденную ошибку  Всё хорошо
Подобную тему только с расчётами в Basic уже обсуждали: http://forumooo.ru/index.php/topic,5231.msg33019.html#msg33019
Записан

JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 359


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #16: 17 Октябрь 2017, 15:23 »

Ну и память у тебя! А я про тот эпизод напрочь забыл... И, кстати, о той теме...
Твой макрос делает меньше, чем функция:
Код:
=MOD()
которая даёт тот же результат, но для любых чисел.
Теперь готов заменить слово "любых" на "многих"?  Смеющийся
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Netlog
Новичок
*
Offline Offline

Сообщений: 10


« Ответ #17: 17 Октябрь 2017, 15:34 »

Понятно, что обойтись без здоровенных чисел можно, разваливая числа в две ячейки, или больше, если двух всё равно мало. И если бы с самого начала выдавало ошибку - то я б даже не чихнул. Но ошибка появилась на пятом делении на 2 от 39^10
Попробую поиграться с Питоном...
Записан
economist
Ветеран
*****
Offline Offline

Сообщений: 739


« Ответ #18: 17 Октябрь 2017, 15:45 »

С Python тоже нужно поаккуратнее, в нем округленные до целых 1,5=2,5!

# особенности Python 3
print(round(1.5, 0)) # = 2 - т.н. "банковское" округление, к ближайшему чётному!
print(round(2.5, 0)) # = 2 - вот и 1.5=2.5=2
 

Используйте SciPy, NumPy.
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 291


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #19: 17 Октябрь 2017, 16:34 »

Теперь готов заменить слово "любых" на "многих"?  Смеющийся
Неа, я имел ввиду, что числа которые правильно обрабатываются функцией =MOD() мне любы и дороги Смеющийся

читай: "которая даёт тот же результат, но для любых (мне) чисел."
Записан

mikekaganski
Ветеран
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 662


« Ответ #20: 18 Октябрь 2017, 08:30 »

https://bugs.documentfoundation.org/show_bug.cgi?id=113211
Записан

С уважением,
Михаил Каганский
mikekaganski
Ветеран
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 662


« Ответ #21: 20 Октябрь 2017, 16:15 »

Поправил для 6.0 (если не откатят, не найдут чего-нибудь, что ломается).
Исправление в базовом компоненте, возможно, будет работать и для бейсика (не пробовал)
Записан

С уважением,
Михаил Каганский
Страниц: « 1 2   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!