Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Всем привет.
Может кто-то сталкивался уже с таким вопросом: делаю простое умножение Курса на Себестоимость, в данном случае 62,18*65,93. Результат 4 099,36, а должен быть 4 099,53.
Как такое может быть?
Пробуйте использовать в формуле что то типа
round(курс,0.01) * round(Себестоимость,0.01)
Проверьте значения полей в таблицах. что-то я сомневаюсь, что разрядность курса 2 знака, а не 4.
В вычислениях участвуют не отображаемые значения а данные, которые хранятся в таблицах модели данных.
Это я проверяла уже. Вот Курс именно с двумя знаками загружается.
А себестоимость? 62,1775 ?
Пробуйте использовать в формуле что то типа
round(курс,0.01) * round(Себестоимость,0.01)
а, забыла прикрепить.
Себестоимость тоже с двумя знаками.
О!! А вот это помогло. Спасибо.
А почему так получается, подскажите?
Интересно. Где-то все-таки больше 2 знаков. Что выдаст Себестоимость*10000 ?
Блин, в курсе все-таки. При умножении курса вот получается:
То есть получается, что формат не имеет значения здесь? Нужно именно обрезать или еще на уровне sql обрезать?
Ну это уже вам по задаче смотреть.
Формально, умножение как раз корректно, ведь курсы устанавливаются с 4-мя знаками после запятой.
Если надо брать 2, либо round в выражении, либо в модели сразу округляйте, если для всего приложения принята точность курсов валют 2 знака.