In my case, the goal was to calculate the sum of the values of different currencies, but the problem was created by the data type of the VALUE field, which is VARCHAR2 (255 BYTE). I found this solution to deal with the initial zero problem:
SELECT ID_OUT
, CASE WHEN REPLACE(SUM(REPLACE(VALUE, '.', ',')), ',', '.') LIKE '-.%' THEN REPLACE(REPLACE(SUM(REPLACE(VALUE, '.', ',')), ',', '.'), '-.', '-0.')
WHEN REPLACE(SUM(REPLACE(VALUE, '.', ',')), ',', '.') LIKE '.%' THEN REPLACE(REPLACE(SUM(REPLACE(VALUE, '.', ',')), ',', '.'), '.', '0.')
ELSE REPLACE(SUM(REPLACE(VALUE, '.', ',')), ',', '.')
END AS VALORE
, LOB
, 'TOTAL' CURRENCY
, COUNTRY
FROM QRT_OUT_DATI
WHERE (CURRENCY != 'Total' AND CURRENCY != 'TOTAL')
GROUP BY ID_OUT, LOB, COUNTRY, CURRENCY
ORDER BY LOB;