Я создаю задание в Talend для преобразования данных из файла .csv, используя некоторые данные из базы данных, а затем включаю их в другой файл .csv.Во время преобразования необходимо выполнить некоторые вычисления для значений:
value1 / value2 * value3
Value1 берется из файла .csv и по умолчанию являетсяСтрока, представляющая сумму, например
"15,25"
Значения 2 и 3 взяты из базы данных и представляют собой BigDecimals с 4 десятичными разрядами.Результат вычисления должен быть округлен до 2 десятичных знаков.
Мой вопрос: Как преобразовать данные из файла .csv, чтобы их можно было вычислить с помощью BigDecimals из базы данных?
Если я преобразую любой тип данных в BigDecimal, он теряет десятичные дроби, например, из String: BigDecimal n = new BigDecimal ("15.25"). Результат всегда будет
15
Я пытался сделать это с помощью математического контекста ROUND_UNNECESSARY и setScale, но это, похоже, не актуально в этих случаях.