Abdirizak Mohamed Ответов: 1

Oracle / PLSQL: проблема круглой функции


Привет Ребята

У меня есть выпуск раунда в Oracle / plsql;

Я разрабатываю систему перевода разных валют;

Что я уже пробовал:

Пример:
ВЫБЕРИТЕ РАУНД (14787 / 3.6697, 2) ИЗ DUAL;
Результат: 4029.48

Проверка
ВЫБЕРИТЕ РАУНД (4029.48 * 3.6697, 2) ИЗ DUAL
Результат: 14786.98

Итак, 14787 != 14786,98

Итак, каково же лучшее решение, которое я могу решить эту проблему

спасибо за вашу помощь

Richard MacCutchan

Лучший выбор-не использовать типы float для значений валют. используйте целочисленные или десятичные типы.

shreyal acharya

Используйте целочисленные или десятичные типы значений, такие как

ВЫБЕРИТЕ РАУНД (14787 / 3) ИЗ ДВУХ;
ВЫБЕРИТЕ РАУНД (4929 * 3) ИЗ ДВУХ;

1 Ответов

Рейтинг:
1

shreyal acharya

Попробуйте это

Я думаю, что это ваше решение.

SELECT ROUND(14787 / 3.6697,2) FROM DUAL;
SELECT ROUND( ROUND(4029.48* 3.6697),2) FROM DUAL;