Хотя я не знаком с groovy, поскольку знаю, что он по-прежнему использует библиотеки Java.
Вы не можете использовать умноженные значения в стандартном десятичном формате, как это видно из документации по классу java.: Документация .
Таким образом, следующую строку кода необходимо изменить на:
DecimalFormat decimalFormat = new DecimalFormat("###,###,###,###.00");
, которая ответит 2,937,998,74, используя предоставленное значение 2937998,7397271004.
Если вы хотите сделать это как 2.937.998,74, вы можете, опять же, по крайней мере, в java, сделать следующее.
DecimalFormat decimalFormat = new DecimalFormat("###,###,###,###.00");
DecimalFormatSymbols custom = new DecimalFormatSymbols();
custom.setDecimalSeparator(',');
custom.setGroupingSeparator('.');
decimalFormat.setDecimalFormatSymbols(custom);
String val = decimalFormat.format(cell.getNumericCellValue().doubleValue());
Или использовать локаль, так как другие sugsers sugest.