AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.10.2004, 13:23   #21  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Цитата:
Изначально опубликовано maxsmirnov
...и, протестируйте, пожалуйста, кто-нибудь на 2.5
PHP код:
19999.99999999998 
в print'е пишет 20000

2.5 SP1HF1
__________________
С уважением, Вячеслав.
Старый 13.10.2004, 13:25   #22  
Hamster is offline
Hamster
Участник
 
687 / 13 (2) ++
Регистрация: 15.05.2003
правильно пишет.
округление работает
Старый 13.10.2004, 13:26   #23  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Это нормально. Функции вывода округляют до 3го знака после запятой.
Т.е. максимум, что выведет, это 9999.994. потом округлит. Как print, так и strfmt.

С Уважением,
Георгий
Старый 13.10.2004, 13:29   #24  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Цитата:
Изначально опубликовано Hamster
правильно пишет.
округление работает
не спорю, правильно. хорошо что не 10000.
__________________
С уважением, Вячеслав.
Старый 13.10.2004, 13:29   #25  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Он и до этого округлит, но выведет 9999,99
а вот 9999,995 - уже напишет 10000.

И только на одинаковых слагаемых, над которыми были произведены преобразования, в ходе которых получалась бесконечная дробь, заметьте.
Старый 13.10.2004, 13:41   #26  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Проверил на 2.5 - аналогичный случай
Цитата:
И только на одинаковых слагаемых, над которыми были произведены преобразования, в ходе которых получалась бесконечная дробь
не совсем так..
real a = 9999.999999999997;
real b = 9999.999999999998;
a+b = 10000
Старый 13.10.2004, 14:04   #27  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
2 Hezl
------------------------------------
Дело не в точности - 9999.9999999999999 будет суммировать нормально
------------------------------------

Неудачный пример.
Дело в том что Аксапта сначала округляет константы до приемлемого вида.
В данном примере после компиляции 9999.9999999999999 будет рассматриваться виртуальной машиной как 10000.
Можете проверить под отладчиком :
real d = 9999.9999999999999; // реально заносится 10000. Поэтому с таким числом ошибок и не возникало. Реально работа шла с константой 10000. Я думаю то же самое при использовании числовых констант в выражениях.
Старый 13.10.2004, 15:41   #28  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано Wamr
Проверил на 2.5 - аналогичный случай
2.5 SP1 RU - работает правильно (то есть 20000 выдает).
Цитата:
Изначально опубликовано Wamr
не совсем так..
real a = 9999.999999999997;
real b = 9999.999999999998;
a+b = 10000
Опытным путем установлено, что если сумма цифр в последней позиции больше или равна 15, появляется ошибка. Для остальных значений работает верно.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: Logger (5).
Старый 13.10.2004, 16:05   #29  
domandr is offline
domandr
Участник
 
190 / 5 (1) +
Регистрация: 10.08.2004
Адрес: Москва
Цитата:
Изначально опубликовано Maxim Gorbunov

2.5 SP1 RU - работает правильно (то есть 20000 выдает).
Опытным путем установлено, что если сумма цифр в последней позиции больше или равна 15, появляется ошибка. Для остальных значений работает верно.
Только не говорите, что это фича, а не баг
Старый 13.10.2004, 16:18   #30  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Не скажу... Хотя... Кто его знает....
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 13.10.2004, 16:26   #31  
komar is offline
komar
Шаман форума
Аватар для komar
Ex AND Project
 
5,571 / 600 (32) +++++++
Регистрация: 24.05.2002
Предлагаю использовать фичу для тестового забега в сервисную систему (http://www.axforum.info/forums/showt...6623#post46623)
Старый 13.10.2004, 17:41   #32  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
2.5 SP3
на 2.5 SP3 тоже все как нада - 20 000
Старый 13.10.2004, 17:46   #33  
Diman is offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Регистрация: 27.06.2003
Адрес: Москва
Re: 2.5 SP3
Цитата:
Изначально опубликовано if_maks
на 2.5 SP3 тоже все как нада - 20 000
Неа. 10 000.
Старый 13.10.2004, 17:50   #34  
domandr is offline
domandr
Участник
 
190 / 5 (1) +
Регистрация: 10.08.2004
Адрес: Москва
Re: Re: 2.5 SP3
Цитата:
Изначально опубликовано Diman


Неа. 10 000.
Может там в настройках галка есть, которая переключает с правильного счета, на не правильный
Старый 13.10.2004, 17:51   #35  
Hamster is offline
Hamster
Участник
 
687 / 13 (2) ++
Регистрация: 15.05.2003
Подозреваю что это зависит от (в том числе)

1) конфигурации (3-2 звенка)
2) версии ОС
Старый 13.10.2004, 17:55   #36  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
2.5
а да простите - ошибся
Axapta 2.5 SP2 Build #7.1

20 000

т.е. можно предположить что SP3 для 2.5 несет эту "фичу"
Старый 14.10.2004, 05:56   #37  
Lazy_Tiger is offline
Lazy_Tiger
NavAx
Axapta Retail User
1C
NavAx Club
 
610 / 31 (3) +++
Регистрация: 17.12.2001
Адрес: Красноярск
Цитата:
Изначально опубликовано komar
Предлагаю использовать фичу для тестового забега в сервисную систему (http://www.axforum.info/forums/showt...6623#post46623)
Axapta 3.0 SP2, SP3 - имеет место быть...
да, забавненько. Сейчас проснется мой партнер...
__________________
И все они создания природы...
Старый 15.10.2004, 15:14   #38  
REb is offline
REb
Участник
 
6 / 10 (1) +
Регистрация: 03.09.2004
Адрес: Питер
:( Нашедший ошибку
А я как раз человек, который эту ошибку обнаружил! )

Самое интерестное, что я нашел эту "фичу" как раз на реальных вычислениях в отчете - у меня был отчет выгружаемый в Excel где я "руками" расчытывал некие итоги из сумм умноженных на коэффициенты. И вот в этом отчете на реальных данных при расчете получалось два числа 9999.999999999999, которые при отображении показывались, действительно как 10000, но при сложении давали тоже 10000 ;(((

Удалось обойти благодоря округлению сумм после умножения на коэфициент.

Теперь аккуратнее отношусь к подобным вещам.


Вот такая печальная история )
Старый 15.10.2004, 15:48   #39  
domandr is offline
domandr
Участник
 
190 / 5 (1) +
Регистрация: 10.08.2004
Адрес: Москва
Интересно, и что у Вас такими цифрами измеряется. (я про хвостик дроби)
Старый 15.10.2004, 16:29   #40  
savel is offline
savel
Участник
 
74 / 13 (1) ++
Регистрация: 26.02.2004
Адрес: Санкт-Петербург
А дело даже не в хвостике.
Точка может стоять в любом месте, и даже её может совсем не быть! Всё единно результат не правильный!
Теги
баг, математика, округление

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Абстрактный классификатор Maxim Gorbunov DAX: Программирование 52 17.01.2005 13:52
Здравствуйте дети! :) - еще одна ошибка AKIS-Falcon DAX: Программирование 11 20.10.2004 18:28
Просмотр SQL запросов к БД с помощью файла Log Anton Sk. DAX: База знаний и проекты 3 25.01.2002 16:31
Виртуальные поля Oks DAX: Функционал 6 03.01.2002 16:08

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:34.