Показать сообщение отдельно
Старый 16.10.2004, 14:47   #44  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Logger
Цитата:
--------------------------------------------------------------------------------
Изначально опубликовано savel
А дело даже не в хвостике.
Точка может стоять в любом месте, и даже её может совсем не быть! Всё единно результат не правильный!
--------------------------------------------------------------------------------

Muzzy, в том-то и проблема, что десятичная точка может стоять в ЛЮБОМ (!) месте и округлением это, к сожалению, не вылечишь. Кроме того, даже если бы это помогало - необходимо было бы при каждой арифметической операции делать округление а не только перед записью в базу.
Это я понимаю. Проблема возникает, когда появляется 16 цифра.
Без округления - это очень большие числа.
Поэтому это маловероятно.

Насчет округления в каждой арифметической операции.
Если быть точным, то не в каждой, а при делении.

Согласен, проблема серьезная.
Паниковать не стоит, поскольку в стандартной Аксапте округления расставлены достаточно часто. Серьезные проблемы более вероятны в самописных модулях и в модификациях.

Согласен, что это ошибка и ее надо исправлять.
Но сейчас людям надо быстро найти обходной путь

Еще раз: перед записью в базу обязательно надо вызывать currency::amount или currency::amountMST. Это рекомендация, близкая к стандарту.