Показать сообщение отдельно
Старый 05.04.2011, 15:46   #1  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,495 / 1070 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Еще один странный глюк
Имеем тестовый Job
X++:
static void Test_Job(Args _args)
{
    AmountCur         a,b,c,d,e,f,t1,t2;
    ;
    a = 13532.5;
    b = 100 / 2827;
    c = 2776851.86;
    d = 2776851.86;
    e = a / b;
    f = (a / b) / c * d;

    e = Currency::amount(e);
    f = Currency::amount(f);

    info(strfmt("%1", e));
    info(strfmt("%1", f));
}
Результат:
Цитата:
382 563,78
382 563,77
Т.е. получаем расхождение в копейку, обнаружено при сопоставлении.
Дело в этом куске:
X++:
b = 100 / 2827;
Если тут прописать:
X++:
b = 0.0353731871241599;
То результат:
Цитата:
Сообщение (15:46:14)
382 563,77
382 563,77
ЗЫ. DAX 3 KR1