мотошкола.ру

Форум мотошкольников
Текущее время: Пн июл 14, 2025 10:59 pm

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Кто может объяснить
СообщениеДобавлено: Вт ноя 10, 2009 12:14 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср сен 24, 2008 1:56 pm
Сообщения: 450
Откуда: ЮАО,Орехово-Борисово
Столкнулись тут на работе с такой интересной ситуацией:
в ёксиле, в отчете происходят вычисления, ну как обычно, но при вот такой операции (1025,15-978,715) если в результирующей ячейке поставить точность 13 или 14 знаков, то в 13 разряде 1 0_о
всё бы ничего, если бы это просто для глаза, но потом из этого числа вычитают такое же(за исключением именно этой единицы в 13 разряде)
и на результат делят, а при делении на 0,0000000000001 получается просто ппц :)
может хто знает такой баг? или как с этим бороться?

_________________
Отвечаю палачу:
– Я не плачу,
Я плачу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 2:12 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вс сен 02, 2007 11:30 pm
Сообщения: 4285
Откуда: москва САО
Заканчивайте с синтетикой и переходите на натуральные продукты.

_________________
Недвижимость - моя профессия.
http://gilstrategia.ru/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 2:46 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 04, 2008 1:33 am
Сообщения: 879
Откуда: Москва, Чертаново
щас попросил друга проверить на 2007 екселе - говорит не так

PS. а зачем вообще делить на ноль?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 3:39 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср сен 24, 2008 1:56 pm
Сообщения: 450
Откуда: ЮАО,Орехово-Борисово
т.к. не я сей шедевр сотворил, сказать зачем делить на ноль не могу :mrgreen: , но если учесть что сей документ является государственной отчетностью, то пути наших творцов отчетности неисповедимы :)
а выглядит это так:
Изображение
видимо индусы не очень хорошо знают как делить числа отличные от целых :)

_________________
Отвечаю палачу:
– Я не плачу,
Я плачу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 4:07 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 04, 2008 1:33 am
Сообщения: 879
Откуда: Москва, Чертаново
Человек очень хорошо знающий ексель выдвинул мнение о большом вселенском заговоре!
например, эксель был создан по заказу коррумпированных чиновников и полубандитских коммерсов, где эта единица в 14 разряде позволяла бы пи..ить бабло с миллиардных счетов почти без палева


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 6:13 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 30, 2009 3:03 am
Сообщения: 483
Откуда: Отовсюду (msk)
Sleg писал(а):
т.к. не я сей шедевр сотворил, сказать зачем делить на ноль не могу :mrgreen: , но если учесть что сей документ является государственной отчетностью, то пути наших творцов отчетности неисповедимы :)
а выглядит это так:
Изображение
видимо индусы не очень хорошо знают как делить числа отличные от целых :)

Индусы всё прекрасно знают. Тут, вероятно, дело в способе, который использует процессор при операциях с числами с плавающей запятой.

_________________
Я схожу с ума или это глючит реальность?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 6:45 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср сен 24, 2008 1:56 pm
Сообщения: 450
Откуда: ЮАО,Орехово-Борисово
Obey-Kun писал(а):
Sleg писал(а):
т.к. не я сей шедевр сотворил, сказать зачем делить на ноль не могу :mrgreen: , но если учесть что сей документ является государственной отчетностью, то пути наших творцов отчетности неисповедимы :)
а выглядит это так:
Изображение
видимо индусы не очень хорошо знают как делить числа отличные от целых :)

Индусы всё прекрасно знают. Тут, вероятно, дело в способе, который использует процессор при операциях с числами с плавающей запятой.

Код:
public static void main(String[] args) {
        BigDecimal b1 = new BigDecimal("1025.15");
        BigDecimal b2 = new BigDecimal("978.715");
        BigDecimal b3 = b1.subtract(b2);
        System.out.println(b3.setScale(19, RoundingMode.HALF_UP));

    }

как и должно быть получается 46.4350000000000000000
так что дело именно в руках! :mrgreen:

_________________
Отвечаю палачу:
– Я не плачу,
Я плачу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 10, 2009 7:00 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 30, 2009 3:03 am
Сообщения: 483
Откуда: Отовсюду (msk)
А MSO типа на яве наисан? Это вы с ООо путаете. А MSO, вообще сказать, написан на дотнете (C#, C++ и проч.).

Код:
#include <stdio>
int main() {
  float b1 = 1025.150;
  float b2 =  978.715;
  float b3 = b1-b2;
  printf("%.12f - %.12f = %.12f\n", b1, b2, b3);
}


Код:
obey@damnasus test % g++ ./main.cpp
obey@damnasus test % ./a.out
1025.150024414062 - 978.715026855469 = 46.434997558594


От компилятора и процессора зависит результат.

_________________
Я схожу с ума или это глючит реальность?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB